using System; [Serializable] public class UnitInfo { string _name; public string name { get { return _name; } } int _maxHp; public int maxHp { get { return (int)(_maxHp * unitBonus.levelBonus); } } public int hp; int _attack; public int attack { get { return (int)(_attack * unitBonus.levelBonus); } } float _attackSpeed; public float attackSpeed { get { return _attackSpeed + ((float)(unitBonus.level - 1) * 0.5f); } } int _defense; public int defense { get { return (int)(_defense * unitBonus.levelBonus); } } float _moveSpeed; public float moveSpeed { get { return _moveSpeed + ((float)(unitBonus.level - 1) * 0.5f); } } int[] _buy; public int[] buy { get { return _buy; } } UnitBonus unitBonus; public UnitInfo(UnitData ud) { _name = ud.name; _maxHp = ud.hp; _attack = ud.attack; _attackSpeed = ud.attack_speed; _defense = ud.defense; _moveSpeed = ud.move_speed; _buy = ud.buy.ToArray(); } public void UnitBonusSet(UnitBonus unitBonus) { this.unitBonus = unitBonus; this.hp = maxHp; } } public class UnitBonus { //½Ã½ºÅÛ¿¡¼­ °­È­µÇ´Â µ¥ÀÌÅÍ //1 > 1.12 > 1.272 > 1.439 > 1.643 int _level; public int level { get { return level; } } public float levelBonus { get { switch (_level) { case 1: return 1.0f; case 2: return 1.12f; case 3: return 1.272f; case 4: return 1.439f; case 5: return 1.643f; default: return 0.0f; } } } //ÀåÂø Àåºñ Á¤º¸ int[] _equipment; public int[] equipment { get { return _equipment; } } //ÀåÂøÇÑ ¸®´õÀÇ °­È­ ¼öÄ¡ int _leaderType; public int leaderType { get { return _leaderType; } } int _leaderbonus; public int leaderbonus { get { return _leaderbonus; } } public UnitBonus(int level, int[] equipment, int leaderType, int leaderbonus) { this._level = level; this._equipment = equipment; this._leaderType = leaderType; this._leaderbonus = leaderbonus; } }