internal static AttackResult Attack(IBasicLocationObject location)
        {
            if (location.Status != AttackStatus.NotAttacked)
            {
                throw new LocationAlreadyAttackedException(string.Format("Location {0} has already been attacked.", location.PositionId));
            }

            if (location.IsOccupied)
            {
                location.Status = AttackStatus.Hit;
                return(AttackResult.Hit);
            }
            else
            {
                location.Status = AttackStatus.Miss;
                return(AttackResult.Miss);
            }
        }
Beispiel #2
0
 private BasicLocation(Position position)
 {
     _location = new BasicLocationObject(position);
 }