31 virtual ETeamAttitude::Type GetTeamAttitudeTowards(
const AActor&
Other)
const override;
32 virtual void SetGenericTeamId(
const FGenericTeamId& NewTeamID)
override;
36 UFUNCTION(BlueprintCallable, Category=
"Defence")
37 bool GetIsPiloted()
const {
return Pilot !=
nullptr;};
38 UFUNCTION(BlueprintCallable, Category=
"Defence")
39 int32 GetPassengers()
const {
return Passengers.Num();};
42 virtual void BeginPlay()
override;
43 virtual void PossessedBy(AController* NewController)
override;
45 virtual void OnInteract(AActor* Caller,
const int32 SelectedInteraction)
override;
47 virtual void PilotShip(AActor* Caller);
48 virtual void EnterShip(AActor* Caller);
50 virtual void SetCallerInShip(AActor* Caller, AAIController* AIController);
53 UFUNCTION(BlueprintImplementableEvent, Category =
"Custom ALS")
54 void OnPilotEntered(AActor* NewPilot);
55 UFUNCTION(BlueprintImplementableEvent, Category = "
Custom ALS")
56 void OnPilotExited(AActor* NewPilot);
57 UFUNCTION(BlueprintCallable, Category = "
Custom ALS")
58 virtual
void PilotExitShip();
59 UFUNCTION(BlueprintCallable, Category = "
Custom ALS")
60 virtual
void PilotEnterShip();
62 UFUNCTION(BlueprintImplementableEvent, Category = "
Custom ALS")
63 void OnPassengerEntered(AActor* NewPassenger);
64 UFUNCTION(BlueprintImplementableEvent, Category = "
Custom ALS")
65 void OnPassengerExited(AActor* NewPassenger);
67 UFUNCTION(BlueprintCallable, Category = "
Custom ALS")
68 virtual
void PassengerEnterShip(const int32 NewPassenger);
69 UFUNCTION(BlueprintCallable, Category = "
Custom ALS")
70 virtual
void PassengerExitShip(const int32 ExitPassenger);
72 UFUNCTION(BlueprintCallable, Category = "
Custom ALS")
74 UFUNCTION(BlueprintCallable, Category = "
Custom ALS")
77 UFUNCTION(BlueprintImplementableEvent, Category = "
Custom ALS")
79 UFUNCTION(BlueprintImplementableEvent, Category = "
Custom ALS")
83 UPROPERTY(EditAnywhere, BlueprintReadOnly)
84 FGenericTeamId TeamID;
85 UFUNCTION(BlueprintCallable, Category="
Defence")
86 int32 GetTeamID()
const{
return (TeamID == FGenericTeamId::NoTeam) ? INDEX_NONE : (int32)TeamID;};
90 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=
"Defence")
92 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="
Defence")
95 UFUNCTION(BlueprintCallable, Category = "
Custom ALS")
96 virtual
ECharacterType GetCharacterType()
const override {
return CharacterType;};
97 UFUNCTION(BlueprintCallable, Category =
"Custom ALS")
98 virtual
EFactionType GetCharacterFaction()
const override {
return OwnerFaction;};
101 UFUNCTION(BlueprintCallable, Category =
"Custom ALS")
102 virtual
bool GetIsDead()
const override {
return bDead;};
106 UFUNCTION(BlueprintCallable, Category =
"Custom ALS")
107 virtual
void SetCharacterVehicleMode(const
EVehicleMode Mode)
override{
return;};
109 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category=
"Ship")
111 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category= "Ship")
112 bool bOpenDoor = false;
117 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Ship")
118 UCapsuleComponent* CapsuleComponent;
119 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Ship")
120 UStaticMeshComponent* MeshComponent;
121 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Ship")
122 USpringArmComponent* SpringArm;
123 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Ship")
124 UCameraComponent* CameraComponent;
125 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Ship")
126 USceneComponent* ExitLocation;
127 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Ship")
128 USceneComponent* PilotLocation;
130 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category= "Ship")
131 UCharacterHealthComponent* HealthComponent;
133 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category= "Ship")
134 float ExplosionDamage = 500000.0f;
135 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category= "Ship")
136 bool bCanAIPilot = false;
137 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category= "Ship")
138 bool bAttachWhenEnter = false;
139 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category= "Ship")
140 bool bStopAILogicWhenEnter = false;
142 UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Ship")
144 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Ship")
145 TArray<AActor*> Passengers;
147 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Ship")
148 int32 MaxPassengers = 3;
152 virtual
void PointDamageTaken(AActor* DamagedActor,
float Damage, class AController* InstigatedBy, FVector HitLocation, class UPrimitiveComponent* HitComponent, FName BoneName, FVector ShotFromDirection, const class UDamageType* DamageType, AActor* DamageCauser);
154 virtual
void OnDeath(AActor* OwningActor,
EDeathType DeathType, AActor* DeathCauser, AController* DeathInstigator);