68 lines
2.3 KiB
C++
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);
|
|
}; |