58 lines
1.8 KiB
C++
Executable file
58 lines
1.8 KiB
C++
Executable file
#pragma once
|
|
#include "CoreMinimal.h"
|
|
#include "UObject/NoExportTypes.h"
|
|
#include "Projectile.h"
|
|
#include "RevertToNormalDelegate.h"
|
|
#include "TerrainModifyingProjectile.generated.h"
|
|
|
|
class UStaticMesh;
|
|
class UTerrainMaterial;
|
|
|
|
UCLASS(Blueprintable)
|
|
class ATerrainModifyingProjectile : public AProjectile {
|
|
GENERATED_BODY()
|
|
public:
|
|
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FRevertToNormal OnRevertToNormal;
|
|
|
|
protected:
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
UTerrainMaterial* Terrain;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
UTerrainMaterial* OriginalGroundMaterial;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
UStaticMesh* CarveMesh;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
FVector CarveMeshScale;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
FVector LastHitLocation;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
float Radius;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
bool Revert;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
float TimeOnGround;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
float ExpensiveCarveNoise;
|
|
|
|
public:
|
|
ATerrainModifyingProjectile();
|
|
UFUNCTION(BlueprintCallable)
|
|
void Tick(float DeltaSeconds);
|
|
|
|
UFUNCTION(BlueprintCallable, BlueprintPure)
|
|
float GetRadius() const;
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void BeginPlay();
|
|
|
|
};
|
|
|