public IEnumerator BuildGodList()
        {
            List <string> list = new List <string>();

            m_playableGods.Clear();
            God god = (PlayerData.instance == null) ? God.Iop : PlayerData.instance.god;
            int num = -1;

            foreach (GodDefinition value in RuntimeData.godDefinitions.Values)
            {
                if (value.playable)
                {
                    m_playableGods.Add(value);
                    list.Add(RuntimeData.FormattedText(value.i18nNameId));
                }
            }
            m_playableGods.Sort(new GodComparer());
            int num2 = 0;

            foreach (GodDefinition playableGod in m_playableGods)
            {
                if (playableGod.god == god)
                {
                    num = num2;
                }
                num2++;
            }
            if (m_ribbonItems == null)
            {
                m_ribbonItems = new List <GodSelectionRibbonItem>();
            }
            IEnumerator[] array = new IEnumerator[m_playableGods.Count];
            for (int i = 0; i < m_playableGods.Count; i++)
            {
                GodDefinition          definition = m_playableGods[i];
                GodSelectionRibbonItem godSelectionRibbonItem;
                if (m_ribbonItems.Count > i)
                {
                    godSelectionRibbonItem = m_ribbonItems[i];
                }
                else
                {
                    godSelectionRibbonItem = Object.Instantiate <GodSelectionRibbonItem>(m_godUiPrefab, m_godUiPrefab.get_transform().get_parent());
                    m_ribbonItems.Add(godSelectionRibbonItem);
                }
                godSelectionRibbonItem.get_gameObject().SetActive(true);
                godSelectionRibbonItem.Initialise(this, definition);
                array[i] = godSelectionRibbonItem.GetLoadingRoutine();
                if (i == num)
                {
                    godSelectionRibbonItem.ForceSelect();
                }
                SetRibbonItemScale(godSelectionRibbonItem);
            }
            yield return(EnumeratorUtility.ParallelExecution(array));

            m_godUiPrefab.get_gameObject().SetActive(false);
        }