public void InitializeCharacterButtons(LobbyPlayer lobbyPlayer) { CharacterButtonPanel.SetActive(true); for (int i = 0; i < CharacterButtons.Length; i++) { CharacterButtons [i].Button.onClick.RemoveAllListeners(); bool occupied = false; for (int k = 0; k < lobbySlots.Length; k++) { if (lobbySlots [k] == null) { continue; } if ((lobbySlots [k] as LobbyPlayer).characterIndex == CharacterButtons [i].CharacterIndex) { CharacterButtons [i].Button.interactable = false; occupied = true; break; } } if (!occupied) { CharacterButtons [i].Button.interactable = true; int characterIndex = CharacterButtons [i].CharacterIndex; CharacterButtons [i].Button.onClick.AddListener(() => lobbyPlayer.OnCharacterPicked(characterIndex)); } } }