private void PopulateAllyList()
        {
            m_AllyListBox.Clear();

            // Populate ally list
            for (int i = 0; i < m_Allies.Count; ++i)
            {
                ListBoxItem item = ListBoxItem.Create(m_AllyListPrefab, "Player " + (m_Allies[i] + 1));
                item.userData = i;
                m_AllyListBox.AddItem(item);
            }

            // Fill ally dropdown with unallied players
            List <string> unalliedPlayers = new List <string>();

            foreach (PlayerData player in UserData.current.selectedVariant.players)
            {
                if (m_Allies.Contains(player.id))
                {
                    continue;
                }
                if (m_SelectedPlayer.id == player.id)
                {
                    continue;
                }

                unalliedPlayers.Add("Player " + (player.id + 1).ToString());
            }

            m_DropdownAlly.ClearOptions();
            m_DropdownAlly.AddOptions(unalliedPlayers);
            m_DropdownAlly.interactable = m_DropdownAlly.options.Count > 0;

            m_BtnAddAlly.interactable = m_DropdownAlly.options.Count > 0;
        }
        private void PopulateCompletedTechList()
        {
            m_CompletedTechListBox.Clear();

            // Populate completed tech list
            for (int i = 0; i < m_CompletedTech.Count; ++i)
            {
                ListBoxItem item = ListBoxItem.Create(m_CompletedTechListPrefab, m_CompletedTech[i] + " - " + m_TechNames[m_CompletedTech[i]]);
                item.userData = i;
                m_CompletedTechListBox.AddItem(item);
            }

            // Fill completed tech dropdown with incomplete tech
            List <string> incompleteTech = new List <string>();

            for (int i = 0; i < m_TechIds.Count; ++i)
            {
                if (m_CompletedTech.Contains(m_TechIds[i]))
                {
                    continue;
                }

                incompleteTech.Add(m_TechIds[i] + " - " + m_TechNames[m_TechIds[i]]);
            }

            m_DropdownCompletedTech.ClearOptions();
            m_DropdownCompletedTech.AddOptions(incompleteTech);
            m_DropdownCompletedTech.interactable = m_DropdownCompletedTech.options.Count > 0;

            m_BtnAddCompletedTech.interactable = m_DropdownCompletedTech.options.Count > 0;
        }
        private void PopulatePlayerList()
        {
            int selectedIndex = m_PlayerListBox.selectedIndex;

            m_PlayerListBox.Clear();

            for (int i = 0; i < UserData.current.selectedVariant.players.Count; ++i)
            {
                ListBoxItem item = ListBoxItem.Create(m_PlayerListPrefab, "Player " + (i + 1));
                item.userData = UserData.current.selectedVariant.players[i];
                m_PlayerListBox.AddItem(item);
            }

            m_PlayerListBox.selectedIndex = selectedIndex;

            // Can't have more than 6 players in the game
            if (UserData.current.selectedVariant.players.Count >= 6)
            {
                m_BtnAddPlayer.interactable = false;
            }
        }