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