5#include "CoreMinimal.h"
6#include "GameFramework/Actor.h"
9#include "WeaponInstanceActor.generated.h"
17 GENERATED_UCLASS_BODY()
23 virtual void EndPlay(
const EEndPlayReason::Type EndPlayReason)
override;
28 virtual APlayerState* GetOwnedPlayerState()
const override;
29 virtual void OnOwnerLeave()
override;
30 virtual void SetWeaponInstanceClass(TSubclassOf<UWeaponInstance> WeaponInstanceClass) { OwningWeaponClass = WeaponInstanceClass; }
34 UFUNCTION(BlueprintCallable, Category = WeaponInstanceActor)
35 APlayerState* GetPlayerOwner()
const {
return PlayerOwner; }
37 virtual int32 GetTeam()
const override;
39 UFUNCTION(BlueprintCallable, Category = WeaponInstanceActor)
42 UFUNCTION(BlueprintCallable, Category = WeaponInstanceActor)
45 UFUNCTION(BlueprintCallable, Category = WeaponInstanceActor)
46 bool
IsLocallyOwned()
const {
return GetPlayerOwner() ? (Cast<AController>(GetPlayerOwner()->GetOwner()) ? Cast<AController>(GetPlayerOwner()->GetOwner())->IsLocalPlayerController() :
false) :
false; }
48 UFUNCTION(BlueprintCallable, Category = WeaponInstanceActor)
49 FORCEINLINE TSubclassOf<
UWeaponInstance> GetOwningWeaponClass()
const {
return OwningWeaponClass; }
58 APlayerState* PlayerOwner = NULL;
Definition: ProjectXCharacter.h:128
Definition: ProjectXPlayerController.h:83
Definition: WeaponInstanceActor.h:16
const T * GetOwningWeaponCDO() const
Definition: WeaponInstanceActor.h:54
virtual void SetWeaponInstanceClass(TSubclassOf< UWeaponInstance > WeaponInstanceClass)
Definition: WeaponInstanceActor.h:30
Definition: OwnedInterface.h:20
Definition: TeamInterface.h:26
Definition: WeaponInstance.h:220
friend class UWeaponComponent
Definition: WeaponInstance.h:1197
virtual bool IsLocallyOwned() const
Definition: WeaponInstance.cpp:91
virtual void BeginPlay() override
Definition: WeaponInstance.cpp:192
virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override
Definition: WeaponInstance.cpp:207