35 void SetupCard(
USituationBase* InSituation, UTexture2D* InIllustration);
42 FName GetSituationID()
const;
55 virtual void NativeConstruct()
override;
56 virtual void NativeTick(
const FGeometry& MyGeometry,
float InDeltaTime)
override;
57 virtual void NativeOnMouseEnter(
const FGeometry& InGeometry,
const FPointerEvent& InMouseEvent)
override;
58 virtual void NativeOnMouseLeave(
const FPointerEvent& InMouseEvent)
override;
59 virtual FReply NativeOnMouseMove(
const FGeometry& InGeometry,
const FPointerEvent& InMouseEvent)
override;
60 virtual FReply NativeOnMouseButtonDown(
const FGeometry& InGeometry,
const FPointerEvent& InMouseEvent)
override;
61 virtual FReply NativeOnMouseButtonUp(
const FGeometry& InGeometry,
const FPointerEvent& InMouseEvent)
override;
64 UFUNCTION(BlueprintImplementableEvent, Category =
"UI|Situation")
68 void HandleChooseClicked();
75 void UpdateCursorOffset(const FGeometry& InGeometry, const FPointerEvent& InMouseEvent);
78 void UpdateHoverTransform(
float InDeltaTime);
81 FOnSituationCardChosen OnCardChosen;
84 UPROPERTY(BlueprintReadOnly, Category = "
UI|Situation", meta = (BindWidget))
85 TObjectPtr<UImage> SituationIcon;
87 UPROPERTY(BlueprintReadOnly, Category = "
UI|Situation", meta = (BindWidget))
88 TObjectPtr<UImage> SituationIllustration;
90 UPROPERTY(BlueprintReadOnly, Category = "
UI|Situation", meta = (BindWidget))
91 TObjectPtr<UTextBlock> SituationNameText;
93 UPROPERTY(BlueprintReadOnly, Category = "
UI|Situation", meta = (BindWidget))
94 TObjectPtr<UWrapBox> CardTags;
96 UPROPERTY(BlueprintReadOnly, Category = "
UI|Situation", meta = (BindWidget))
97 TObjectPtr<UTextBlock> SituationDescriptionText;
101 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "
UI|Situation|Hover")
102 float HoverScale = 1.08f;
105 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "
UI|Situation|Hover")
106 float MaxTiltAngle = 6.0f;
109 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "
UI|Situation|Hover")
110 float MaxShearAngle = 4.0f;
113 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "
UI|Situation|Hover")
114 float IdleSwayAngle = 1.5f;
116 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "
UI|Situation|Hover")
117 float IdleSwaySpeed = 2.5f;
120 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "
UI|Situation|Hover")
121 float TransformInterpSpeed = 12.0f;
124 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "
UI|Situation")
129 UPROPERTY(Transient, BlueprintReadOnly, Category = "
UI|Situation")
133 UPROPERTY(Transient, BlueprintReadOnly, Category = "
UI|Situation")
134 TObjectPtr<UTexture2D> IconTexture;
138 FVector2D CursorOffset = FVector2D::ZeroVector;
141 FVector2D CurrentScale = FVector2D::UnitVector;
142 FVector2D CurrentShear = FVector2D::ZeroVector;
143 float CurrentAngle = 0.0f;
146 float SwayTime = 0.0f;
148 uint8 bHovered : 1 = false;