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);
            }
        }
예제 #2
0
        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();
 }