25class BCR_API
UQTE_Subsystem : public UGameInstanceSubsystem, public FTickableGameObject
33 virtual void Initialize(FSubsystemCollectionBase& Collection)
override;
34 virtual void Deinitialize()
override;
37 virtual void Tick(
float DeltaTime)
override;
38 virtual bool IsTickable()
const override;
39 virtual TStatId GetStatId()
const override;
42 UFUNCTION(BlueprintCallable, Category =
"QTE")
44 UFUNCTION(BlueprintCallable, Category =
"QTE")
46 UFUNCTION(BlueprintCallable, Category =
"QTE")
48 UFUNCTION(BlueprintCallable, Category =
"QTE")
49 void SetQTEPaused(
bool bPaused);
52 UFUNCTION(BlueprintCallable, Category =
"QTE")
53 void OnPlayerEnterSnapPoint(
AMainPlayer* Player, ESnapPointType SnapPoint);
54 UFUNCTION(BlueprintCallable, Category =
"QTE")
55 void OnPlayerLeaveSnapPoint(
AMainPlayer* Player, ESnapPointType SnapPoint);
58 UPROPERTY(BlueprintAssignable, Category =
"QTE")
59 FOnSnapPointQTEResult OnSnapPointFirstResult;
60 UPROPERTY(BlueprintAssignable, Category =
"QTE")
61 FOnSnapPointQTEResult OnSnapPointSecondResult;
62 UPROPERTY(BlueprintAssignable, Category =
"QTE")
63 FOnQTEComplete OnQTEComplete;
64 UPROPERTY(BlueprintAssignable, Category =
"QTE")
65 FOnQTEProgress OnSnapPointFirstProgress;
66 UPROPERTY(BlueprintAssignable, Category =
"QTE")
67 FOnQTEProgress OnSnapPointSecondProgress;
76 EQTEState CurrentState;
82 TMap<ESnapPointType, TWeakObjectPtr<AMainPlayer>> ActivePlayers;
83 TMap<ESnapPointType, FQTEProgressData> ActionProgress;
86 FTimerHandle GlobalTimerHandle;
90 void ProcessInputs(
float DeltaTime);
105 void CompleteQTE(
bool bSuccess);
109 void SetQTEState(EQTEState NewState);
112 bool IsQTERunning()
const;
113 bool IsQTEConfigValid()
const;
114 bool CanStartQTE()
const;
115 bool CheckQTECompletion();
Main player character for cooperative gameplay.
Definition MainPlayer.h:32