You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
absg/Source/SpaceBattler/Public/UnitInfo.h

81 lines
2.2 KiB

// 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;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Information")
TArray<FText> UnitTags;
};