5#include "CoreMinimal.h"
7#include "DeployableControllable.generated.h"
13class UStaticMeshComponent;
31 GENERATED_UCLASS_BODY()
34 virtual void DeployComplete()
override;
35 virtual void OnOwnerDied()
override;
40 virtual void AssumeControl();
41 virtual void StopControlling();
44 UPROPERTY(BlueprintAssignable)
45 FDeployableControlSignature OnControlAssumed;
46 UPROPERTY(BlueprintAssignable)
47 FDeployableControlSignature OnControlLost;
50 bool bIsOwnerDead = false;
51 FRotator PreviousEyesRotation = FRotator::ZeroRotator;
54 virtual
void BeginPlay() override;
55 virtual
void Tick(
float DeltaTime) override;
56 virtual
void UpdateDeployableTransform(
float DeltaTime) {}
58 UFUNCTION(BlueprintImplementableEvent, Category = Deployable)
59 void K2_OnControlAssumed();
60 UFUNCTION(BlueprintImplementableEvent, Category = Deployable)
61 void K2_OnControlLost();
63 UFUNCTION(
Server, Unreliable)
66 UFUNCTION(BlueprintNativeEvent, Category = Deployable)
67 UStaticMeshComponent* GetControlledMesh();
70 bool bIsBeingControlled = false;
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FDeployableControlSignature)
EDeployableMovementDirection
Definition: DeployableControllable.h:17
Definition: DeployableControllable.h:30
virtual bool GetIsBeingControlled()
Definition: DeployableControllable.h:42
virtual void MoveDeployableUp(float Value)
Definition: DeployableControllable.h:38
virtual void MoveDeployableForward(float Value)
Definition: DeployableControllable.h:36
virtual void MoveDeployableRight(float Value)
Definition: DeployableControllable.h:37
virtual void Fire()
Definition: DeployableControllable.h:39
Definition: Deployable.h:47