using System.Collections.Generic; using System.Linq; using UnityEngine; namespace Game { public interface ICharacter { public int AttackDamage { get; } public float AttackSpeed { get; } public int Mana { get; } public int StartingMana { get; } public int AttackRange { get; } public int CriticalHitChance { get; } public int Armor { get; } public int MagicResistance { get; } } public class Character : ICharacter { private int _level; CharacterConfig _config; public Character(CharacterConfig config) { this._config = config; } public bool IsDeath; public int AttackDamage => _config.BasicStats.AttackDamage[_level]; public float AttackSpeed => _config.BasicStats.AttackSpeed[_level]; public int Mana => _config.BasicStats.Mana[_level]; public int StartingMana => _config.BasicStats.StartingMana[_level]; public int AttackRange => _config.BasicStats.AttackRange[_level]; public int CriticalHitChance => _config.BasicStats.CriticalHitChance[_level]; public int Armor => _config.BasicStats.Armor[_level]; public int MagicResistance => _config.BasicStats.MagicResistance[_level]; public CharacterConfig Config => _config; // tmp Other public float OtherAttackDamage; public float OtherArmor; } }