5#include "CoreMinimal.h"
11#include "GameManager.generated.h"
37 UFUNCTION(BlueprintImplementableEvent, Category = "GameManager")
38 void OnNewStepLoaded(const FText& StepName);
44 UFUNCTION(BlueprintImplementableEvent, Category = "GameManager")
45 void OnNewStoryLoaded(const FText& StepName);
51 UFUNCTION(BlueprintNativeEvent, Category = "GameManager")
52 void OnGrabbingWrongActor(
AActor* WrongActor);
59 UFUNCTION(BlueprintNativeEvent, Category = "GameManager")
60 void OnTeleportActivatedRaw(EControllerHand Hand,
bool InActivate);
65 UFUNCTION(BlueprintNativeEvent, Category = "GameManager")
66 void OnInitialization();
71 UFUNCTION(BlueprintImplementableEvent, Category = "GameManager")
74 UFUNCTION(BlueprintCallable, Category = "GameManager|InteractiveItems")
77 UFUNCTION(BlueprintCallable, Category = "GameManager|DynamicStory")
80 UFUNCTION(BlueprintCallable, Category = "GameManager|InteractiveItems")
81 void PopulateInteractiveObjectsWithStepData(
ABaseStoryActor* TargetActor);
84 void OnEndStoryReached();
86 UFUNCTION(BlueprintCallable, Category = "GameManager|Data")
87 TArray<
ABaseStoryActor*> GetInteractiveItemsArray() {
return InteractiveItemsArray;}
89 UFUNCTION(BlueprintCallable, Category =
"GameManager|Functionality")
90 void GetAllActorsOfClass(TSubclassOf<
AActor> TargetClass, TArray<
AActor*>& OutActors);
92 UPROPERTY(BlueprintReadWrite, Category = "GameManager")
95 UPROPERTY(BlueprintReadWrite, Category = "GameManager")
98 UPROPERTY(BlueprintReadWrite, Category = "GameManager")
101 UPROPERTY(BlueprintReadWrite, Category = "GameManager")
104 UPROPERTY(BlueprintReadWrite, Category = "GameManager")
107 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "GameManager|Script")
111 UPROPERTY(EditDefaultsOnly, Category = "GameManager|Script")
112 bool IsUsingStoryScriptData = false;
114 UPROPERTY(BlueprintReadOnly, Category = "GamaManager|Script")
117 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "GameManager|WrongActionFeedback")
118 bool bWrongInteractableActorGrabEnabled = false;
120 UPROPERTY(BlueprintReadWrite, BlueprintCallable, BlueprintAssignable)
121 FOnWrongInteractableActorGrabbed OnWrongInteractableActorGrabbed;
123 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "GameManager|DynamicStory")
124 bool IsUsingDynamicStory{
false};
126 UPROPERTY(BlueprintAssignable, Category =
"GameManager|Delegates")
127 FOnNewInteractableItemAdded OnNewInteractableItemAdded;
132 void SpawnStoryScripts();
141 int ActiveDynamicStoryIndex = -1;
146 UPROPERTY(BlueprintReadOnly, Category = "GameManager|InteractiveItems")
#define DECLARE_EVENT_HANDLER(TEvent)
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnWrongInteractableActorGrabbed, AActor *, WrongInteractableActor)
Base class for story actors.
Pixo VR Character This class represents the main character in the Pixo VR game. It extends the AVRCha...
It provides functionalities for handling events, sending events, and managing a private owner....
Manager for managing player experience, accepts various events such as player teleportation,...
FText CurrentStep
UPROPERTY(BlueprintReadWrite, Category = "GameManager")
FOnNewInteractableItemAdded OnNewInteractableItemAdded
UPROPERTY(BlueprintAssignable, Category = "GameManager|Delegates")
DECLARE_EVENT_HANDLER(UNewStepLoadedEvent)
void OnInitialization()
Function for overriding. Called when initialization ended.
TArray< ABaseStoryActor * > GetInteractiveItemsArray()
UFUNCTION(BlueprintCallable, Category = "GameManager|Data")
void OnTeleportActivatedRaw(EControllerHand Hand, bool InActivate)
Function for overriding. Called when teleportation is activated.
FOnWrongInteractableActorGrabbed OnWrongInteractableActorGrabbed
UPROPERTY(BlueprintReadWrite, BlueprintCallable, BlueprintAssignable)
TArray< UStoryScriptClassData * > DynamicStoryScripts
UPROPERTY()
DECLARE_EVENT_HANDLER(UInitializationEvent)
DECLARE_EVENT_HANDLER(UNewStoryLoadedEvent)
void OnInteractiveItemAdded(ABaseStoryActor *AddedInteractiveItem)
Function for overriding. Called when the interactive item is added to InteractiveItemsArray.
AGameModeBase * GameModeBaseRef
UPROPERTY(BlueprintReadWrite, Category = "GameManager")
void OnNewStepLoaded(const FText &StepName)
Function for overriding. Called when a new step is loaded.
TArray< UInteractiveObjectDataBase * > InteractiveObjectStepDataBase
UPROPERTY()
TArray< FDynamicStoryData > DynamicStoryQueue
UPROPERTY()
TArray< FScriptInstanceData > ScriptInstancesData
UPROPERTY(BlueprintReadOnly, Category = "GamaManager|Script")
APixoVRCharacter * PlayerPawnRef
UPROPERTY(BlueprintReadWrite, Category = "GameManager")
UStoryManager * StoryManagerRef
UPROPERTY(BlueprintReadWrite, Category = "GameManager")
TArray< ABaseStoryActor * > InteractiveItemsArray
UPROPERTY(BlueprintReadOnly, Category = "GameManager|InteractiveItems")
UStoryScriptClassData * StoryScriptClassData
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "GameManager|Script")
USoundManager * SoundManagerRef
UPROPERTY(BlueprintReadWrite, Category = "GameManager")
void OnNewStoryLoaded(const FText &StepName)
Function for overriding. Called when a new story is loaded.
void OnGrabbingWrongActor(AActor *WrongActor)
Function for overriding. Called when the wrong interactable actor is grabbed.
Event called when we on init experience.
Event called when new step is loaded.
Event called when new story is loaded.
Manager that provides functionality for managing VOs and Hint VOs. To use this class you must attach ...
Manager that provides handling story-related operations and data.
Data asset class for storing story script class data.
Struct for holding script instance data.