So far, we've been assigning static values to the attributes of our UI widgets. However, what if we want to be more dynamic with widget content, or parameters such as border color? We can use a principle called data binding to dynamically link properties of our UI with variables in the broader program.
Unreal uses the Attribute system to allow us to bind the value of an attribute to the return value from a function, for example. This means that changing those variables will automatically cause the UI to change in response, according to our wishes.
Create a new
GameMode
subclass calledAAtributeGameMode
.Add the following
private
member to the class:private: TSharedPtr<SVerticalBox> Widget;
Add the following
public
functions, noting the override forBeginPlay()
:public: virtual void BeginPlay() override; FTextGetButtonLabel() const ;
Add the implementation for
BeginPlay
within the.cpp
file:voidAClickEventGameMode::BeginPlay() {...