Payback 0.0.1
CK Graduation Project
로딩중...
검색중...
일치하는것 없음
CK_BPFunctionLibrary.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 "Kismet/BlueprintAsyncActionBase.h"
7#include "Kismet/BlueprintFunctionLibrary.h"
8#include "Containers/Ticker.h"
13#include "SubSystem/World/PoolWorldSubsystem.h"
17#include "CK_BPFunctionLibrary.generated.h"
18
19
20DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FDelayedForLoopOutputPin, int32, Index);
21
22
23UCLASS()
24class CK_UE_API UCK_DelayedForLoopAction : public UBlueprintAsyncActionBase
25{
26 GENERATED_BODY()
27
28public:
29 UPROPERTY(BlueprintAssignable)
30 FDelayedForLoopOutputPin OnLoop;
31
32 UPROPERTY(BlueprintAssignable)
33 FDelayedForLoopOutputPin OnCompleted;
34
40 UFUNCTION(BlueprintCallable, Category = "Utilities|Flow Control", meta = (BlueprintInternalUseOnly = "true", WorldContext = "WorldContextObject"))
41 static UCK_DelayedForLoopAction* DelayedForLoop(UObject* WorldContextObject, int32 Count, float Delay);
42
43 virtual void Activate() override;
44
45private:
46 void ScheduleNext();
47
48private:
49 int32 Count = 0;
50 int32 CurrentIndex = 0;
51 float Delay = 0.f;
52
53private:
54 UPROPERTY(Transient)
55 TWeakObjectPtr<UObject> CachedWorldContext;
56
57 FTSTicker::FDelegateHandle TickerHandle;
58};
59
60
61UCLASS()
62class CK_UE_API UCK_BPFunctionLibrary : public UBlueprintFunctionLibrary
63{
64 GENERATED_BODY()
65
66public:
68 UFUNCTION(BlueprintPure, Category = "Utilities", meta = (DisplayName = "Get Object Unique ID"))
69 static int32 GetObjectUniqueID(const UObject* Object);
70
72 UFUNCTION(BlueprintPure, Category = "Utilities", meta = (DisplayName = "Is Game In Progress", WorldContext = "WorldContextObject"))
73 static bool IsGameInProgress(const UObject* WorldContextObject);
74
75
76 UFUNCTION(BlueprintPure, Category = "Utilities", meta = (DisplayName = "PlayerManagement Subsystem", WorldContext = "WorldContextObject"))
77 static UPlayerManagementSubsystem* GetPlayerManagementSubsystem(const UObject* WorldContextObject);
78
79 UFUNCTION(BlueprintPure, Category = "Utilities", meta = (DisplayName = "StageManagement Subsystem", WorldContext = "WorldContextObject"))
80 static UStageManagementSubsystem* GetStageManagementSubsystem(const UObject* WorldContextObject);
81
82 UFUNCTION(BlueprintPure, Category = "Utilities", meta = (DisplayName = "LevelStreaming Subsystem", WorldContext = "WorldContextObject"))
83 static ULevelStreamingSubsystem* GetLevelStreamingSubsystem(const UObject* WorldContextObject);
84
85 UFUNCTION(BlueprintPure, Category = "Utilities", meta = (DisplayName = "UIManagement Subsystem", WorldContext = "WorldContextObject"))
86 static UUIManagementSubsystem* GetUIManagementSubsystem(const UObject* WorldContextObject);
87
88 UFUNCTION(BlueprintPure, Category = "Utilities", meta = (DisplayName = "SituationManagement Subsystem", WorldContext = "WorldContextObject"))
89 static USituationManagementSubsystem* GetSituationManagementSubsystem(const UObject* WorldContextObject);
90
91 UFUNCTION(BlueprintPure, Category = "Utilities", meta = (DisplayName = "Streaming Subsystem", WorldContext = "WorldContextObject"))
92 static UStreamingSubsystem* GetStreamingSubsystem(const UObject* WorldContextObject);
93
94 UFUNCTION(BlueprintCallable, Category = "Utilities", meta = (DisplayName = "Get Pool System", WorldContext = "WorldContextObject"))
95 static UPoolWorldSubsystem* GetPoolWorldSystem(const UObject* WorldContextObject);
96};
97
98
99UCLASS()
100class CK_UE_API UCK_LevelStreamingBPLibrary : public UBlueprintFunctionLibrary
101{
102 GENERATED_BODY()
103
104public:
105 UFUNCTION(BlueprintCallable, Category = "LevelStreaming", meta = (DefaultToSelf = "TargetActor"))
106 static void RequestLevelLoad(const AUStageFlowDefinition* TargetActor, ULevelStreamingData* Data);
107
108 UFUNCTION(BlueprintCallable, Category = "LevelStreaming", meta = (DefaultToSelf = "WorldContext"))
109 static AUStageFlowDefinition* GetCurrentStageFlowDefinition(UWorld* WorldContext);
110
111 UFUNCTION(BlueprintCallable, Category = "LevelStreaming")
112 static UStageDictionary* GetStreamingDataFromStageDictionary();
113
114#if WITH_EDITOR
115 static TArray<FString> GetStageEventOptions(const AActor* ContextActor, bool bIncludeAllTag);
116#endif
117
118};
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FDelayedForLoopOutputPin, int32, Index)
Definition StageFlowDefinition.h:27
Definition CK_BPFunctionLibrary.h:63
Definition CK_BPFunctionLibrary.h:25
Definition CK_BPFunctionLibrary.h:101
Definition LevelStreamingData.h:19
Definition LevelStreamingSubsystem.h:38
Definition PlayerManagementSubsystem.h:42
Definition PoolWorldSubsystem.h:28
Definition SituationManagementSubsystem.h:36
Definition StageDictionary.h:14
Definition StageManagementSubsystem.h:147
Definition StreamingSubsystem.h:73
Definition UIManagementSubsystem.h:22