private void SetupGame() { Info_Player.SetupAllArmy(); int playerid = 0; foreach (CommanderType com in CurrentGame.Commanders) { Info_Player player = new Info_Player(); { player.Commander = com; player.CommanderPath = Program.PATH_COMMANDER[com.ModelID]; } player.Initialise(); CurrentPlayers.Add(player); // Load their armies if (player.Commander.Armies != null) { foreach (ArmyType armytype in player.Commander.Armies) { Entity_PlayerArmy army = new Entity_PlayerArmy(); { army.Player = playerid; army.MoveToSystem(Galaxy.GetSystemByID(armytype.SystemPosition)); } player.Armies.Add(army); Scene.Instance.Add(army); } } // NOTE: Depends on player being in the CurrentPlayers list first // Load the owned systems from the json into the galaxy map if (player.Commander.OwnedSystems != null) { foreach (int systemid in player.Commander.OwnedSystems) { Entity_StarSystem system = Galaxy.GetSystemByID(systemid); system.SetOwner(playerid); } } playerid++; } // Temp testing RewardSelection(); }
public void DoTurn(int action, int systemid, int player, int armyid, bool doturn = true) { // Actually perform the turn if received confirmation if (doturn) { Entity_PlayerArmy army = Helper.GetPlayerArmy(player, armyid); Entity_StarSystem system = Galaxy.GetSystemByID(systemid); switch (action) { case Helper.ACTION_MOVE: system.Action_Move(army); break; case Helper.ACTION_WAR: system.Action_War(army); break; default: break; } } // Add to turn history if (CurrentGame.TurnHistory == null) { CurrentGame.TurnHistory = new List <TurnType>(); } TurnType turn; { turn.ActionID = action; turn.Player = player; turn.Data = systemid + " " + armyid; } CurrentGame.TurnHistory.Add(turn); }