void CreatePlayerAreas() { // Rearange previous areas foreach (PlayAreaUI playArea in playerAreas) { playArea.SetNumPlayers(numPlayers); playArea.SetupArea(); } // Create new areas for (int i = playerAreas.Count; i < numPlayers; i++) { GameObject playerArea = Instantiate(playerAreaPrefab); PlayAreaUI ui = playerArea.GetComponent <PlayAreaUI>(); playerAreas.Add(ui); ui.SetPlayer(i + 1); ui.SetNumPlayers(numPlayers); ui.SetValues(startingHealth, startingCommanderDamage); ui.FirstSetup(); if (options.activeSelf) { ui.gameObject.SetActive(false); } } }
void DestroyPlayerAreas() { for (int i = playerAreas.Count - 1; i > numPlayers - 1; i--) { Debug.LogFormat("playerAreas.Count: {0}, i: {1}", playerAreas.Count, i); PlayAreaUI playerArea = playerAreas[i]; Destroy(playerArea.gameObject); playerAreas.RemoveAt(i); } // Rearange remaning areas foreach (PlayAreaUI playArea in playerAreas) { playArea.SetNumPlayers(numPlayers); playArea.SetupArea(); } }