Advertisement
Guest User

ATriggerActor.h

a guest
Jan 20th, 2019
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.13 KB | None | 0 0
  1. #pragma once
  2.  
  3. #include "CoreMinimal.h"
  4. #include "GameFramework/Actor.h"
  5. #include "TriggerActor.generated.h"
  6.  
  7. class ATriggerActionBase;
  8. class UTriggerOptionBase;
  9.  
  10. UCLASS()
  11. class UE4SYSTEMS_API ATriggerActor : public AActor
  12. {
  13.     GENERATED_BODY()
  14.    
  15. public:
  16.  
  17.     ATriggerActor();
  18.  
  19.     UFUNCTION(BlueprintCallable)
  20.     void AttemptToTrigger();
  21.  
  22.     bool CanBeTriggered() const;
  23.     bool HasBeenTriggered() const { return bHasBeenTriggered; }
  24.  
  25.     int GetTriggerCount() const { return TriggerCount; }
  26.  
  27. protected:
  28.  
  29.     virtual void BeginPlay() override;
  30.  
  31. private:
  32.  
  33.     void OnTriggerOptionCompletedCB();
  34.  
  35.     UTriggerOptionBase* TriggerOption;
  36.  
  37.     UPROPERTY(EditAnywhere)
  38.     bool bCanBeTriggeredMoreThanOnce;
  39.  
  40.     UPROPERTY(EditAnywhere)
  41.     TArray<ATriggerActionBase*> TriggerActions;
  42.  
  43.     /** This trigger actor won't be able to start a trigger process unless its' TriggerConditions has been met, meaning that it's TriggerActors has been succesfully triggered. */
  44.     UPROPERTY(EditAnywhere)
  45.     TArray<ATriggerActor*> TriggerConditions;
  46.  
  47.     UPROPERTY(EditAnywhere)
  48.     TArray<ATriggerActor*> CompletionTriggers;
  49.  
  50.     bool bHasBeenTriggered;
  51.     int TriggerCount;
  52. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement