class ABasePrototype
#include <BasePrototype.h>
class ABasePrototype:
public AActor,
public IIAction
{
public:
// classes
class InstrumentTransforms;
// fields
TArray<FORamaVR> afterSpawnFunctions;
TMap<AActor*, UAnimSequence*> CharacterAnimationsMap;
TMap<AActor*, UAnimSequence*> CharacterUndoAnimations;
TArray<AActor*> BoundActorCharacterAnimated;
USceneComponent* _rootComp;
int OverrideSetPath = -1;
int AlternativePath = -1;
FString ActionName = TEXT("");
// methods
virtual void Initialize();
virtual void Perform();
virtual void Undo();
virtual void InitializeHolograms();
void SetAfterSpawn(FORamaVR afterSpawnFunction);
void SetUndoAction(FORamaVR undoActionFunction);
void SetPerformAction(
FORamaVR performActionFunction,
int numOfTriggerToPlay = -1
);
void BindCharacterAnimationToPerform(
TSubclassOf<AActor> Actor,
UAnimSequence* seq
);
void BindCharacterAnimationOnUndo(TSubclassOf<AActor> Actor, UAnimSequence* seq);
virtual void DifficultyRestrictions();
virtual void ActionCall();
void SetEventListener(FString _event);
void SetHologramObject(
TSubclassOf<AActor> Class,
AActor* AttachActor = nullptr,
USceneComponent* AttachParent = nullptr,
FName SocketName = NAME_None
);
virtual void SetNextModule(FORamaVR action);
virtual void SetNextModulePath(FORamaVRSetPath Action, int pathToSet);
FString GetClassName() const;
};
// direct descendants
class AAnimationAction;
class ABPBasePrototype;
class ACombinedAction;
class AInsertAction;
class AParallelAction;
class APumpAction;
class AQuestionAction;
class ARemoveAction;
class AUseAction;