102 lines
3.3 KiB
C++
Executable file
102 lines
3.3 KiB
C++
Executable file
#pragma once
|
|
#include "CoreMinimal.h"
|
|
#include "Engine/NetSerialization.h"
|
|
#include "AnimatedItem.h"
|
|
#include "EInputKeys.h"
|
|
#include "Throwable.h"
|
|
#include "PlagueCleanupItem.generated.h"
|
|
|
|
class APlayerCharacter;
|
|
class UAnimMontage;
|
|
class UAudioComponent;
|
|
class UBoxComponent;
|
|
class UCrosshairAggregator;
|
|
class UInstantUsable;
|
|
class UKeepInsideWorld;
|
|
class UObjective;
|
|
class USoundCue;
|
|
class USphereComponent;
|
|
|
|
UCLASS(Blueprintable)
|
|
class FSD_API APlagueCleanupItem : public AAnimatedItem, public IThrowable {
|
|
GENERATED_BODY()
|
|
public:
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Instanced, meta=(AllowPrivateAccess=true))
|
|
UBoxComponent* DroppedCollider;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Instanced, meta=(AllowPrivateAccess=true))
|
|
UInstantUsable* PickupUsable;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Instanced, meta=(AllowPrivateAccess=true))
|
|
USphereComponent* UseSphere;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Instanced, meta=(AllowPrivateAccess=true))
|
|
UCrosshairAggregator* CrosshairAggregator;
|
|
|
|
protected:
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
UAnimMontage* FP_FireAnimation;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
UAnimMontage* TP_FireAnimation;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
UAnimMontage* FP_Gunsling;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
UAnimMontage* TP_Gunsling;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
UAnimMontage* Item_Gunsling;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
USoundCue* UsingSound;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
float UsingSoundFadeout;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
USoundCue* UsingSoundTail;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Instanced, meta=(AllowPrivateAccess=true))
|
|
UKeepInsideWorld* KeepInsideWorld;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Instanced, Transient, meta=(AllowPrivateAccess=true))
|
|
UAudioComponent* UsingSoundInstance;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
float FireRate;
|
|
|
|
public:
|
|
APlagueCleanupItem();
|
|
protected:
|
|
UFUNCTION(BlueprintCallable, Server, Unreliable)
|
|
void Server_Gunsling();
|
|
|
|
public:
|
|
UFUNCTION(BlueprintCallable, Reliable, Server)
|
|
void Server_EnablePhysics(const FVector_NetQuantize& Direction);
|
|
|
|
protected:
|
|
UFUNCTION(BlueprintCallable)
|
|
void OnPickupUsed(APlayerCharacter* User, EInputKeys Key);
|
|
|
|
UFUNCTION(BlueprintCallable, BlueprintImplementableEvent)
|
|
void OnObjectiveChanged(UObjective* Objective);
|
|
|
|
public:
|
|
UFUNCTION(BlueprintCallable, BlueprintImplementableEvent)
|
|
void OnInRangeChanged(bool InRange);
|
|
|
|
protected:
|
|
UFUNCTION(BlueprintCallable, NetMulticast, Unreliable)
|
|
void All_Gunsling();
|
|
|
|
public:
|
|
UFUNCTION(BlueprintCallable, NetMulticast, Reliable)
|
|
void All_EnablePhysics(const FVector_NetQuantize& Direction);
|
|
|
|
|
|
// Fix for true pure virtual functions not being implemented
|
|
};
|
|
|