public void Attack(Character target) { if(range < Vector2.Distance(position, target.position)) { throw new System.Exception("Can't not attack " + target.name + ". It is too far to attack!") ; } OnAttack (target); if (true == Hit (this, target)) { target.Damage (this, GetStatus ().attack); } else { target.OnDodge(this); } }