EQuestSystemState

v1.0
View as Markdown

EQuestSystemState belongs to the QuestSystem runtime module.

Cillum amet nulla velit eiusmod incididunt nisi aliquip sit fugiat pariatur lorem ipsum commodo. Quis lorem pariatur sed ut velit fugiat reprehenderit amet consequat nisi ea. Ea do aliquip sed minim eiusmod labore laboris. Sit consequat magna labore exercitation eiusmod exercitation irure laboris consequat nulla ullamco ut. Aute laboris commodo duis veniam aute enim amet pariatur veniam.

Declaration

 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};

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

 1UINTERFACE(MinimalAPI, Blueprintable)
 2class UQuestSystemInterface : public UInterface
 3{
 4    GENERATED_BODY()
 5};
 6
 7class IQuestSystemInterface
 8{
 9    GENERATED_BODY()
10
11public:
12    UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "QuestSystem")
13    void OnPluginActivated(bool bSuccess);
14
15    UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "QuestSystem")
16    FMyResult ProcessData(const FMyInput& Input);
17
18    UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "QuestSystem")
19    bool CanExecute() const;
20};

Tip: For best performance, pre-allocate your pool size during loading screens rather than during gameplay.