thewar_client/Client/Assets/1_Script/Info/UnitInfo.cs

88 lines
2.3 KiB
C#

using System;
using System.Diagnostics;
[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 void UnitSet(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;
}
}