RealtimeStyleTransferRuntime/Source/LyraGame/Equipment/LyraPickupDefinition.h

68 lines
2.3 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Engine/DataAsset.h"
#include "LyraPickupDefinition.generated.h"
class ULyraInventoryItemDefinition;
class UStaticMesh;
class USoundBase;
class UNiagaraSystem;
/**
*
*/
UCLASS(Blueprintable, BlueprintType, Const, Meta = (DisplayName = "Lyra Pickup Data", ShortTooltip = "Data asset used to configure a pickup."))
class LYRAGAME_API ULyraPickupDefinition : public UDataAsset
{
GENERATED_BODY()
public:
//Defines the pickup's actors to spawn, abilities to grant, and tags to add
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Lyra|Pickup|Equipment")
TSubclassOf<ULyraInventoryItemDefinition> InventoryItemDefinition;
//Visual representation of the pickup
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Lyra|Pickup|Mesh")
UStaticMesh* DisplayMesh;
//Cool down time between pickups in seconds
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Lyra|Pickup")
int32 SpawnCoolDownSeconds;
//Sound to play when picked up
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Lyra|Pickup")
USoundBase* PickedUpSound;
//Sound to play when pickup is respawned
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Lyra|Pickup")
USoundBase* RespawnedSound;
//Particle FX to play when picked up
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Lyra|Pickup")
UNiagaraSystem* PickedUpEffect;
//Particle FX to play when pickup is respawned
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Lyra|Pickup")
UNiagaraSystem* RespawnedEffect;
};
UCLASS(Blueprintable, BlueprintType, Const, Meta = (DisplayName = "Lyra Weapon Pickup Data", ShortTooltip = "Data asset used to configure a weapon pickup."))
class LYRAGAME_API ULyraWeaponPickupDefinition : public ULyraPickupDefinition
{
GENERATED_BODY()
public:
//Sets the height of the display mesh above the Weapon spawner
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Lyra|Pickup|Mesh")
FVector WeaponMeshOffset;
//Sets the height of the display mesh above the Weapon spawner
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Lyra|Pickup|Mesh")
FVector WeaponMeshScale = FVector(1.0f, 1.0f, 1.0f);
};