|
|
|
// Fill out your copyright notice in the Description page of Project Settings.
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "CoreMinimal.h"
|
|
|
|
#include "Engine/DataAsset.h"
|
|
|
|
#include "UnitInfo.generated.h"
|
|
|
|
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
UCLASS()
|
|
|
|
class SPACEBATTLER_API UUnitInfo : public UPrimaryDataAsset
|
|
|
|
{
|
|
|
|
GENERATED_BODY()
|
|
|
|
public:
|
|
|
|
int32 GetTier() const;
|
|
|
|
TSubclassOf<AActor> GetCharacterClass() const;
|
|
|
|
|
|
|
|
protected:
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Information")
|
|
|
|
FText Name;
|
|
|
|
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta = (MultiLine = true), Category="Information")
|
|
|
|
FText Description;
|
|
|
|
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Information")
|
|
|
|
UTexture2D* Texture2D;
|
|
|
|
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Stats")
|
|
|
|
float BaseHP;
|
|
|
|
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Stats")
|
|
|
|
float Attack;
|
|
|
|
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Stats")
|
|
|
|
float Cooldown;
|
|
|
|
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Attributes")
|
|
|
|
bool IsRanged;
|
|
|
|
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Attributes")
|
|
|
|
bool IsFlying;
|
|
|
|
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Stats")
|
|
|
|
float Range;
|
|
|
|
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Stats")
|
|
|
|
float Speed;
|
|
|
|
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Information")
|
|
|
|
int32 Tier;
|
|
|
|
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Classes")
|
|
|
|
TSubclassOf<AActor> CharacterClass;
|
|
|
|
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Melee Info")
|
|
|
|
TSubclassOf<UDamageType> MeleeDamageType;
|
|
|
|
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Melee Info")
|
|
|
|
UAnimMontage* MeleeMontage;
|
|
|
|
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Ranged Info")
|
|
|
|
TSubclassOf<AActor> RangedProjectile;
|
|
|
|
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Ranged Info")
|
|
|
|
float RangedProjectileSpeed;
|
|
|
|
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Ranged Info")
|
|
|
|
int32 RangedProjectileAmount;
|
|
|
|
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Ranged Info")
|
|
|
|
float RangedProjectileDelay;
|
|
|
|
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Ranged Info")
|
|
|
|
UAnimMontage* RangedProjectileMontage;
|
|
|
|
};
|