Payback 0.0.1
CK Graduation Project
로딩중...
검색중...
일치하는것 없음
FlowDefinitionBase.h
이 파일의 문서화 페이지로 가기
1// Fill out your copyright notice in the Description page of Project Settings.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "UObject/Object.h"
7#include "FlowDefinitionBase.generated.h"
8
9
10UCLASS(Abstract, Blueprintable, BlueprintType, EditInlineNew, DefaultToInstanced)
11class CK_UE_API UFlowDefinitionBase : public UObject
12{
13 GENERATED_BODY()
14
15public:
16 UFUNCTION(BlueprintCallable, Category = "Flow")
17 bool StartFlow(UObject* InFlowOwner);
18
19 UFUNCTION(BlueprintCallable, Category = "Flow")
20 void FinishFlow();
21
22 UFUNCTION(BlueprintCallable, Category = "Flow")
23 void ResetFlow();
24
25 UFUNCTION(BlueprintPure, Category = "Flow")
26 FORCEINLINE bool IsRunning() const
27 {
28 return bIsRunning;
29 }
30
31 UFUNCTION(BlueprintPure, Category = "Flow")
32 FORCEINLINE UObject* GetFlowOwner() const
33 {
34 return FlowOwner.Get();
35 }
36
37protected:
38 UFUNCTION(BlueprintCallable, Category = "Flow", meta = (BlueprintProtected = "true"))
39 void StopFlow();
40
41 virtual void HandleFlowStarted(UObject* InFlowOwner) { }
42 virtual void HandleFlowFinished() { }
43 virtual void HandleFlowReset() { }
44
45 UFUNCTION(BlueprintImplementableEvent, Category = "Flow", meta = (DisplayName = "On Flow Started"))
46 void ReceiveFlowStarted(UObject* InFlowOwner);
47
48 UFUNCTION(BlueprintImplementableEvent, Category = "Flow", meta = (DisplayName = "On Flow Finished"))
49 void ReceiveFlowFinished();
50
51 UFUNCTION(BlueprintImplementableEvent, Category = "Flow", meta = (DisplayName = "On Flow Reset"))
52 void ReceiveFlowReset();
53
54private:
55 UPROPERTY(Transient)
56 TWeakObjectPtr<UObject> FlowOwner;
57
58 UPROPERTY(Transient)
59 bool bIsRunning = false;
60};
Definition FlowDefinitionBase.h:12
virtual void HandleFlowFinished()
Definition FlowDefinitionBase.h:42
virtual void HandleFlowReset()
Definition FlowDefinitionBase.h:43