Esempio n. 1
0
        public static void PerformTurn(ModelObject actor, ModelObject[] world, Action<ModelObject, ModelObject> action)
        {
            var fleets = world.OfType<Fleet>().ToList();
            var targetFleet = fleets.FirstOrDefault(x => !x.Ships.Any(ship => ship == actor));
            var targetShip = targetFleet != null ? targetFleet.Ships.FirstOrDefault(ship => ship.IsActive()) : null;
            if (targetShip == null)
            {
                return;
            }

            action(actor, targetShip);
        }
Esempio n. 2
0
 public static bool IsFightComplete(ModelObject[] world)
 {
     var fleets = world.OfType<Fleet>().ToList();
     return fleets.Any(fleet => fleet.Ships.All(ship => !ship.IsActive()));
 }