A Demo Project for the UnrealEngineSDK
Loading...
Searching...
No Matches
SDialogueNodeOverlayWidget.h
Go to the documentation of this file.
1// Copyright Csaba Molnar, Daniel Butum. All Rights Reserved.
2#pragma once
3
4#include "Widgets/DeclarativeSyntaxSupport.h"
5#include "Widgets/SCompoundWidget.h"
6
9{
11
12public:
14 DECLARE_DELEGATE_OneParam(FOnHoverStateChanged, bool /* bHovered */);
15
17 DECLARE_DELEGATE_RetVal_OneParam(FSlateColor, FOnGetBackgroundColor, bool /* bHovered */);
18
20 SLATE_ATTRIBUTE(TSharedPtr<SWidget>, OverlayBody)
21
22 // Events
23 SLATE_EVENT(FOnHoverStateChanged, OnHoverStateChanged)
24 SLATE_EVENT(FOnGetBackgroundColor, OnGetBackgroundColor)
25 SLATE_END_ARGS()
26
27 void Construct(const FArguments& InArgs);
28
29 void OnMouseEnter(const FGeometry& MyGeometry, const FPointerEvent& MouseEvent) override
30 {
31 OnHoverStateChangedEvent.ExecuteIfBound(true);
32 SCompoundWidget::OnMouseEnter(MyGeometry, MouseEvent);
33 }
34
35 void OnMouseLeave(const FPointerEvent& MouseEvent) override
36 {
37 OnHoverStateChangedEvent.ExecuteIfBound(false);
38 SCompoundWidget::OnMouseLeave(MouseEvent);
39 }
40
42 FSlateColor GetBackgroundColor() const
43 {
44 if (OnGetBackgroundColorEvent.IsBound())
45 return OnGetBackgroundColorEvent.Execute(IsHovered());
46
47 return FSlateColor::UseForeground();
48 }
49
50private:
52 FOnHoverStateChanged OnHoverStateChangedEvent;
53
55 FOnGetBackgroundColor OnGetBackgroundColorEvent;
56
58 TSharedPtr<SWidget> OverlayBody;
59};
DECLARE_DELEGATE_RetVal_OneParam(FSlateColor, FOnGetBackgroundColor, bool)
void OnMouseEnter(const FGeometry &MyGeometry, const FPointerEvent &MouseEvent) override
DECLARE_DELEGATE_OneParam(FOnHoverStateChanged, bool)
SLATE_BEGIN_ARGS(SDialogueNodeOverlayWidget)
SDialogueNodeOverlayWidget Self
FOnGetBackgroundColor OnGetBackgroundColorEvent
void OnMouseLeave(const FPointerEvent &MouseEvent) override
void Construct(const FArguments &InArgs)
FOnHoverStateChanged OnHoverStateChangedEvent