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()); }
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(); }
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]); } } }