Esempio n. 1
0
 public static Troop CreateSimulateTroop(Architecture architecture, GameObjectList persons, Person Leader, Military military, int rationdays, Point startPosition)
 {
     Troop troop = new Troop();
     troop.Scenario = architecture.Scenario;
     troop.BelongedFaction = architecture.BelongedFaction;
     troop.Simulating = true;
     troop.TechnologyIncrement = architecture.Technology / 50;
     troop.StartingArchitecture = architecture;
     if (persons != null)
     {
         foreach (Person person in persons)
         {
             troop.AddPerson(person);
         }
         troop.SetLeader(Leader);
     }
     if (military != null)
     {
         troop.BackupArmyLeaderID = (military.Leader != null) ? military.Leader.ID : -1;
         troop.BackupArmyLeaderExperience = military.LeaderExperience;
         troop.BackupArmyLeader = military.Leader;
         troop.Army = military;
         troop.Food = military.FoodCostPerDay * rationdays;
     }
     if (persons != null)
     {
         troop.SimulateInitializePosition(startPosition);
         foreach (Person person in persons)
         {
             person.LocationTroop = null;
         }
     }
     troop.Simulating = false;
     if (military != null)
     {
         military.Leader = troop.BackupArmyLeader;
         military.LeaderExperience = troop.BackupArmyLeaderExperience;
         military.LeaderID = troop.BackupArmyLeaderID;
     }
     return troop;
 }
Esempio n. 2
0
 public static Troop CreateSimulateTroop(GameObjectList persons, Military military, Point startPosition)
 {
     Troop troop = new Troop();
     troop.Scenario = military.Scenario;
     troop.Simulating = true;
     if (persons != null)
     {
         foreach (Person person in persons)
         {
             troop.AddPerson(person);
         }
         troop.SetLeader(persons[0] as Person);
         troop.BackupArmyLeaderID = (military.Leader != null) ? military.Leader.ID : -1;
         troop.BackupArmyLeaderExperience = military.LeaderExperience;
         troop.BackupArmyLeader = military.Leader;
         troop.Army = military;
         troop.SimulateInitializePosition(startPosition);
         foreach (Person person in persons)
         {
             person.LocationTroop = null;
         }
     }
     troop.Simulating = false;
     military.Leader = troop.BackupArmyLeader;
     military.LeaderExperience = troop.BackupArmyLeaderExperience;
     military.LeaderID = troop.BackupArmyLeaderID;
     return troop;
 }