Exemple #1
0
        public void Generate_ScrapFleets()
        {
            SimpleTurnGenerator turnGenerator = new SimpleTurnGenerator(serverData);

            Assert.IsNotEmpty(serverData.IterateAllFleets().ToList());
            turnGenerator.Generate();
            Console.WriteLine(fleets.First().Composition.Count());
            Assert.AreEqual(fleets.First().Composition.Count(), 0);
            Assert.IsEmpty(serverData.IterateAllFleets().ToList());
        }
Exemple #2
0
        public void Process(ServerData serverState)
        {
            foreach (Fleet fleet in serverState.IterateAllFleets())
            {
                if (fleet.Waypoints.Count > 0)
                {
                    Waypoint waypointZero = fleet.Waypoints[0];
                    if (waypointZero.Task is ScrapTask && waypointZero.Task.IsValid(fleet, null, null))
                    {
                        Star targetStar = null;
                        serverState.AllStars.TryGetValue(waypointZero.Destination, out targetStar);
                        if (targetStar != null)
                        {
                            fleet.InOrbit = targetStar;
                        }

                        EmpireData sender = serverState.AllEmpires[fleet.Owner];

                        waypointZero.Task.Perform(fleet, targetStar, sender);
                    }
                }
            }

            serverState.CleanupFleets();
        }
Exemple #3
0
        public void Process(ServerData serverState)
        {
            Bombing bombing = new Bombing(serverState);

            foreach (Fleet fleet in serverState.IterateAllFleets())
            {
                if (fleet.InOrbit != null && fleet.HasBombers)
                {
                    bombing.Bomb(fleet, serverState.AllStars[fleet.InOrbit.Name]);
                }
            }
        }