Example #1
0
        public void Execute(TBaseShipController shipController, TShip ship, TDirection direction)
        {
            TParameters damage       = _damageController.CalculateDamage(shipController.CurrentShip, ship, direction);
            TShipParts  oldHitPoints = ship.Current.Parameters.HitPoints;

            ship.Current.Parameters -= damage;
            ship.Storage.OnDamage(oldHitPoints, ship.Current.Parameters.HitPoints);
        }
Example #2
0
 public override void Execute(TBaseShipController shipController, params Object[] objects)
 {
     if (objects.Length != 2)
     {
         throw new ArgumentException();
     }
     Execute(shipController, (TShip)objects[0], objects[1]);
 }
Example #3
0
 public override void Execute(TBaseShipController shipController, Object[] objects)
 {
     if (objects.Length != 1)
     {
         throw new ArgumentException();
     }
     Execute(shipController, (TCell)objects[0]);
 }
Example #4
0
        public override void Execute(TBaseShipController shipController, TCell cell)
        {
            if (!cell.IsAvailableRouteCell)
            {
                throw new ArgumentOutOfRangeException();
            }
            TShip ship = shipController.CurrentShip;

            shipController.SubShip(ship);
            ship.Current.Parameters -= cell.Bonus;
            shipController.AddShip(ship, cell);
        }
Example #5
0
 public override void Execute(TBaseShipController shipController, params object[] objects)
 {
     // TODO
     throw new NotImplementedException();
 }
Example #6
0
 public override void Execute(TBaseShipController shipController, TShip ship, object obj)
 {
     Execute(shipController, ship, (TDirection)obj);
 }
Example #7
0
 public abstract void Execute(TBaseShipController shipController, params Object[] objects);
Example #8
0
 public abstract void Execute(TBaseShipController shipController, TCell cell);
Example #9
0
 public abstract void Execute(TBaseShipController shipController, TShip ship, Object obj);