5#include "CoreMinimal.h"
7#include "WeaponInstanceSpawnableVehicle.generated.h"
16 GENERATED_UCLASS_BODY()
19 UFUNCTION(BlueprintCallable)
21 UFUNCTION(BlueprintCallable)
22 const FVector& GetDisplayScale()
const {
return DisplayScale; }
24 virtual bool Fire(uint8
Mode,
float WorldTimeOverride)
override;
25 virtual void FireComplete(uint8
Mode)
override;
26 virtual bool CanReload(
EWeaponError& ErrorMessage)
const override;
27 virtual void UnEquipComplete()
override;
28 virtual bool CanEquip()
const override;
31 UFUNCTION(
Server, Reliable, WithValidation)
32 void Server_Toggle_SpawnActor(const FTransform& DeployTransform,
bool OverrideValidation = false);
33 UFUNCTION(BlueprintNativeEvent)
34 void GetSpawnTransform(FTransform& SpawnTransform);
35 UFUNCTION(BlueprintCallable, Category = Spawnable)
39 void SetDisableVehicle(
const bool bInDisableVehicle);
41 UPROPERTY(BlueprintAssignable)
42 FVehicleSpawnedSignature ActiveSpawnableEvent;
49 virtual
void OnVehicleDestroyed();
55 void OnDriverDied(AActor* Victim, const
float Damage, struct FDamageEvent const& DamageEvent, const class AController* EventInstigator, const class AActor* DamageCauser, const class APlayerState* InstigatorPlayerState);
57 void LeaveVehicle(
bool bHold,
float Duration);
59 UFUNCTION(BlueprintImplementableEvent, Category = "Deployable
Weapon")
66 UPROPERTY(EditDefaultsOnly, Category = "Deployable
Weapon")
67 float DeployableForwardOffset = 500.f;
69 UPROPERTY(EditDefaultsOnly, Category = "Deployable
Vehicle")
72 UPROPERTY(EditDefaultsOnly, Category = "Deployable
Weapon")
73 float DeployDistanceLeniency = 200.f;
75 UPROPERTY(EditDefaultsOnly, Category = "Deployable
Weapon")
76 int32 MaxInstances = 1;
78 UPROPERTY(EditDefaultsOnly, meta = (ClampMin = 0.0f), Category = "Deployable
Weapon")
79 float VehicleDeathDelay = 1.0f;
81 UPROPERTY(EditDefaultsOnly, Category = "Deployable
Weapon")
82 FVector DisplayScale = FVector::OneVector;
84 FTimerHandle DeathTimer;
85 FTimerDelegate DeathDelegate;
89 bool bFireValidated = false;
90 UPROPERTY(EditDefaultsOnly, Category = "Deployable
Weapon")
91 bool bPersonalVehicle = true;
92 UPROPERTY(EditDefaultsOnly, Category = "Deployable
Weapon")
93 bool bDisabledVehicle = false;
EWeaponError
Definition: WeaponComponent.h:15
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FVehicleSpawnedSignature, AProjectXVehicle *, Vehicle)
Definition: ProjectXCharacter.h:128
TWeakObjectPtr< AProjectXVehicle > PreviousVehicle
Definition: ProjectXCharacter.h:714
TWeakObjectPtr< AProjectXVehicle > Vehicle
Definition: ProjectXCharacter.h:711
virtual void OnRep_Vehicle()
Definition: ProjectXCharacter.cpp:2219
FORCEINLINE AProjectXVehicle * GetVehicle() const
Definition: ProjectXCharacter.h:213
Definition: ProjectXVehicle.h:56
Definition: WeaponInstance.h:220
Definition: WeaponInstanceSpawnableVehicle.h:15
bool IsPersonalVehicle() const
Definition: WeaponInstanceSpawnableVehicle.h:38