RealtimeStyleTransferRuntime/Source/LyraGame/Equipment/LyraPickupDefinition.h

73 lines
2.4 KiB
C
Raw Permalink Normal View History

2022-05-23 18:41:30 +00:00
// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Engine/DataAsset.h"
2022-09-13 07:18:28 +00:00
#include "Math/UnrealMathSSE.h"
#include "Math/Vector.h"
#include "Templates/SubclassOf.h"
#include "UObject/UObjectGlobals.h"
2022-05-23 18:41:30 +00:00
#include "LyraPickupDefinition.generated.h"
class ULyraInventoryItemDefinition;
class UNiagaraSystem;
2022-09-13 07:18:28 +00:00
class UObject;
class USoundBase;
class UStaticMesh;
2022-05-23 18:41:30 +00:00
/**
*
*/
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")
2022-09-13 07:18:28 +00:00
TObjectPtr<UStaticMesh> DisplayMesh;
2022-05-23 18:41:30 +00:00
//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")
2022-09-13 07:18:28 +00:00
TObjectPtr<USoundBase> PickedUpSound;
2022-05-23 18:41:30 +00:00
//Sound to play when pickup is respawned
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Lyra|Pickup")
2022-09-13 07:18:28 +00:00
TObjectPtr<USoundBase> RespawnedSound;
2022-05-23 18:41:30 +00:00
//Particle FX to play when picked up
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Lyra|Pickup")
2022-09-13 07:18:28 +00:00
TObjectPtr<UNiagaraSystem> PickedUpEffect;
2022-05-23 18:41:30 +00:00
//Particle FX to play when pickup is respawned
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Lyra|Pickup")
2022-09-13 07:18:28 +00:00
TObjectPtr<UNiagaraSystem> RespawnedEffect;
2022-05-23 18:41:30 +00:00
};
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);
};