예제 #1
0
파일: Program.cs 프로젝트: dmitry-pdp/FC
        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);
        }
예제 #2
0
파일: Program.cs 프로젝트: dmitry-pdp/FC
 public static bool IsFightComplete(ModelObject[] world)
 {
     var fleets = world.OfType<Fleet>().ToList();
     return fleets.Any(fleet => fleet.Ships.All(ship => !ship.IsActive()));
 }