using System.Collections; using System.Collections.Generic; using UnityEngine; namespace BulletHellTemplate { /// /// Represents the base stats for a character. /// [System.Serializable] public class CharacterStats { /// /// The base health points of the character. /// public float baseHP; /// /// The base health regeneration rate per second. /// public float baseHPRegen; /// /// The base health leech percentage (health gained from damage dealt). /// public float baseHPLeech; /// /// The base Mana points of the character. /// public float baseMP; /// /// The base Mana regeneration rate per second. /// public float baseMPRegen; /// /// The base damage dealt by the character. /// public float baseDamage; /// /// The base attack speed of the character. /// public float baseAttackSpeed; /// /// The base cooldown reduction percentage. /// public float baseCooldownReduction; /// /// The base critical hit rate percentage. /// public float baseCriticalRate; /// /// The base critical damage multiplier. /// public float baseCriticalDamageMultiplier; /// /// The base defense points of the character. /// public float baseDefense; /// /// The base shield points of the character. /// public float baseShield; /// /// The base movement speed of the character. /// public float baseMoveSpeed; // /// The base range to collect drops. /// public float baseCollectRange; // /// Max Stats to Choice from; /// public float baseMaxStats; // /// Max Skills to Choice from. /// public float baseMaxSkills; /// /// Default constructor. /// public CharacterStats() { } /// /// Copy constructor that creates a new Singleton of CharacterStats with the same values as the provided stats. /// /// The CharacterStats Singleton to copy values from. public CharacterStats(CharacterStats statsToCopy) { baseHP = statsToCopy.baseHP; baseHPRegen = statsToCopy.baseHPRegen; baseHPLeech = statsToCopy.baseHPLeech; baseMP = statsToCopy.baseMP; baseMPRegen = statsToCopy.baseMPRegen; baseDamage = statsToCopy.baseDamage; baseAttackSpeed = statsToCopy.baseAttackSpeed; baseCooldownReduction = statsToCopy.baseCooldownReduction; baseCriticalRate = statsToCopy.baseCriticalRate; baseCriticalDamageMultiplier = statsToCopy.baseCriticalDamageMultiplier; baseDefense = statsToCopy.baseDefense; baseShield = statsToCopy.baseShield; baseMoveSpeed = statsToCopy.baseMoveSpeed; baseCollectRange = statsToCopy.baseCollectRange; baseMaxStats = statsToCopy.baseMaxStats; baseMaxSkills = statsToCopy.baseMaxSkills; } } }