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); }
public override void Execute(TBaseShipController shipController, params Object[] objects) { if (objects.Length != 2) { throw new ArgumentException(); } Execute(shipController, (TShip)objects[0], objects[1]); }
public override void Execute(TBaseShipController shipController, Object[] objects) { if (objects.Length != 1) { throw new ArgumentException(); } Execute(shipController, (TCell)objects[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); }
public override void Execute(TBaseShipController shipController, params object[] objects) { // TODO throw new NotImplementedException(); }
public override void Execute(TBaseShipController shipController, TShip ship, object obj) { Execute(shipController, ship, (TDirection)obj); }
public abstract void Execute(TBaseShipController shipController, params Object[] objects);
public abstract void Execute(TBaseShipController shipController, TCell cell);
public abstract void Execute(TBaseShipController shipController, TShip ship, Object obj);