public static void SetupController(Data.Participant participant) { if (controllers.ContainsKey(participant.ID) && !controllers[participant.ID].isValidFor(participant)) { RemoveController(participant.ID); } if (!controllers.ContainsKey(participant.ID)) { addControllerByType(participant); } }
public static void Initiative(Data.Participant participant) { var domain = Game.Map.Domain(participant.ID); Debug.Log(string.Format("Participant {0} ({1}) has {2} regions", participant.name, participant.ID, domain.Count)); for (int i = 0, l = domain.Count; i < l; i++) { SetNewPopulation(domain[i].demographics); var tax = Tax(domain[i].demographics); if (tax > 0) { Military.Construct(participant, domain[i], Data.MilitaryUnitType.Fodder, tax); } SetCivilianState(domain[i].demographics, tax); } Game.Step(); }
static void addControllerByType(Data.Participant participant) { var GO = new GameObject(); GO.name = participant.name; GO.transform.SetParent(Game.PlayersInEditor); ParticipantController controller; if (participant.type == Data.PlayerType.Player) { controller = GO.AddComponent <LocalPlayer>(); } else { controller = GO.AddComponent <ParticipantController>(); } controller.myData = participant; controllers.Add(participant.ID, controller); }
bool isValidFor(Data.Participant participant) { return(validForTypes.Contains(participant.type)); }
public static void CollectOrders(Data.Participant participant) { controllers[participant.ID].CollectOrders(); }