UQuestSystemSettings

v1.0
View as Markdown

UQuestSystemSettings belongs to the QuestSystem runtime module.

Ut nisi labore labore sed sint quis nulla pariatur in. Aliqua aliqua aliqua do consectetur esse laboris in. Ipsum irure labore sed ut eiusmod elit laboris laboris fugiat incididunt ut sint ut nostrud. Commodo occaecat sed duis voluptate incididunt pariatur voluptate excepteur esse dolor. Magna in consectetur dolore sed sint sed ullamco consequat exercitation commodo incididunt quis et do. Esse incididunt enim tempor sed sit ullamco excepteur laboris ea ullamco ut ipsum.

Declaration

 1// Declare delegates for event-driven communication
 2DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnStateChanged, EMyState, NewState);
 3DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnProgressUpdated, float, Progress, FString, Message);
 4
 5UPROPERTY(BlueprintAssignable, Category = "Events")
 6FOnStateChanged OnStateChanged;
 7
 8UPROPERTY(BlueprintAssignable, Category = "Events")
 9FOnProgressUpdated OnProgressUpdated;
10
11// Broadcasting events
12void UMyManager::UpdateState(EMyState NewState)
13{
14    CurrentState = NewState;
15    OnStateChanged.Broadcast(NewState);
16    OnProgressUpdated.Broadcast(GetProgress(), GetStatusMessage());
17}

Members

Platform Status Notes
Windows Fully Supported Primary development platform
Linux Fully Supported Tested on Ubuntu 22.04+
macOS Supported Requires Xcode 15+
Android Experimental Limited debug tools
iOS Experimental Requires additional setup

Example

 1UCLASS(ClassGroup=(Custom), meta=(BlueprintSpawnableComponent))
 2class QUEST_SYSTEM_API UMyComponent : public UActorComponent
 3{
 4    GENERATED_BODY()
 5
 6public:
 7    UMyComponent();
 8
 9    UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Settings")
10    float UpdateInterval = 0.1f;
11
12    UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Settings")
13    bool bAutoActivate = true;
14
15    UFUNCTION(BlueprintCallable, Category = "QuestSystem")
16    void SetConfiguration(const FMyConfig& Config);
17
18protected:
19    virtual void BeginPlay() override;
20    virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override;
21
22private:
23    FMyConfig CurrentConfig;
24    float TimeSinceLastUpdate = 0.0f;
25};