protected override void InitializeValuesAndReferences() {
     base.InitializeValuesAndReferences();
     _speciesFactory = SpeciesFactory.Instance;
     _leaderFactory = LeaderFactory.Instance;
     int maxAiPlayerQty = TempGameValues.MaxAIPlayers;
     _aiPlayersSpecies = new Species[maxAiPlayerQty];
     _aiPlayersSpeciesSelections = new SpeciesGuiSelection[maxAiPlayerQty];
     _aiPlayersColors = new GameColor[maxAiPlayerQty];
     _aiPlayersIQs = new IQ[maxAiPlayerQty];
     _aiPlayersTeams = new TeamID[maxAiPlayerQty];
     _aiPlayersStartLevels = new EmpireStartLevel[maxAiPlayerQty];
     _aiPlayersStartLevelSelections = new EmpireStartLevelGuiSelection[maxAiPlayerQty];
     _aiPlayersHomeSystemDesirability = new SystemDesirability[maxAiPlayerQty];
     _aiPlayersHomeSystemDesirabilitySelections = new SystemDesirabilityGuiSelection[maxAiPlayerQty];
     _aiPlayersUserSeparations = new PlayerSeparation[maxAiPlayerQty];
     _aiPlayersUserSeparationSelections = new PlayerSeparationGuiSelection[maxAiPlayerQty];
 }
Beispiel #2
0
        /// <summary>
        /// The goal is to create/instantiate all required roles for Paxos
        /// If N is an even number greater or equal to 2
        /// # of replicas = N + 1
        /// # of leaders = N + 1
        /// # of acceptors = 2 * N + 1
        /// </summary>
        static void initializePaxos()
        {
            AcceptorFactory acceptorFactory = new AcceptorFactory();

            acceptors.Add(acceptorFactory.BuildInstance(messageBroker));
            acceptors.Add(acceptorFactory.BuildInstance(messageBroker));
            acceptors.Add(acceptorFactory.BuildInstance(messageBroker));
            acceptors.Add(acceptorFactory.BuildInstance(messageBroker));
            acceptors.Add(acceptorFactory.BuildInstance(messageBroker));

            ReplicaFactory replicaFactory = new ReplicaFactory();

            replicas.Add(replicaFactory.BuildInstance(messageBroker, stateMachine));
            replicas.Add(replicaFactory.BuildInstance(messageBroker, stateMachine));
            replicas.Add(replicaFactory.BuildInstance(messageBroker, stateMachine));

            LeaderFactory leaderFactory = new LeaderFactory();

            leaders.Add(leaderFactory.BuildInstance(messageBroker, acceptors, replicas));
            leaders.Add(leaderFactory.BuildInstance(messageBroker, acceptors, replicas));
            leaders.Add(leaderFactory.BuildInstance(messageBroker, acceptors, replicas));
        }