private IEnumerator DoInitialize()
    {
        if (MonoBehaviourSingleton <InGameRecorder> .IsValid())
        {
            playerRecords = MonoBehaviourSingleton <InGameRecorder> .I.players;
            int i = 0;
            while (i < playerRecords.Count)
            {
                InGameRecorder.PlayerRecord p = playerRecords[i];
                if (p == null || p.playerLoadInfo == null)
                {
                    playerRecords.RemoveAt(i);
                }
                else
                {
                    i++;
                }
            }
            playersModels = MonoBehaviourSingleton <InGameRecorder> .I.CreatePlayerModels();

            while (PlayerLoader.IsLoading(playersModels))
            {
                yield return((object)null);
            }
            Transform camera_t = MonoBehaviourSingleton <AppMain> .I.mainCameraTransform;
            if (MonoBehaviourSingleton <InGameRecorder> .I.isVictory)
            {
                int k = 0;
                for (int j = playersModels.Length; k < j; k++)
                {
                    PlayerLoader player = playersModels[k];
                    if (player != null)
                    {
                        player.animator.set_applyRootMotion(false);
                        player.animator.Play("win_loop");
                    }
                }
                camera_t.set_position(camera_t.get_position() + camera_t.get_forward() * 1.5f);
            }
            else if (playersModels.Length > 0)
            {
                OutGameSettingsManager.QuestResult param = MonoBehaviourSingleton <OutGameSettingsManager> .I.questResult;
                SoundManager.RequestBGM(10, false);
                PlayerLoader player_loader = playersModels[0];
                if (player_loader != null)
                {
                    Transform player_t = player_loader.get_transform();
                    cameraTarget = player_t.get_position() + new Vector3(0f, param.loseCameraHeight, 0f);
                    Vector3    camera_pos = cameraTarget + player_t.get_forward() * param.loseCameraDistance;
                    Quaternion camera_rot = Quaternion.LookRotation(cameraTarget - camera_pos);
                    camera_t.set_position(camera_pos);
                    camera_t.set_rotation(camera_rot);
                    PlayerAnimCtrl.Get(default_anim: (Random.Range(0, 2) != 0) ? PLCA.IDLE_02 : PLCA.IDLE_01, _animator: player_loader.animator, on_play: null, on_change: null, on_end: null);
                }
                MonoBehaviourSingleton <AppMain> .I.mainCamera.set_fieldOfView(param.cameraFieldOfView);
            }
        }
        itemsL[0] = GetCtrl(UI.OBJ_ITEM_POS_L_0);
        itemsL[1] = GetCtrl(UI.OBJ_ITEM_POS_L_1);
        itemsL[2] = GetCtrl(UI.OBJ_ITEM_POS_L_2);
        itemsL[3] = GetCtrl(UI.OBJ_ITEM_POS_L_3);
        itemsR[0] = GetCtrl(UI.OBJ_ITEM_POS_R_0);
        itemsR[1] = GetCtrl(UI.OBJ_ITEM_POS_R_1);
        itemsR[2] = GetCtrl(UI.OBJ_ITEM_POS_R_2);
        itemsR[3] = GetCtrl(UI.OBJ_ITEM_POS_R_3);
        if (MonoBehaviourSingleton <InGameManager> .IsValid())
        {
            SetActive((Enum)UI.SPR_TITLE, !MonoBehaviourSingleton <InGameManager> .I.IsRush());
            SetActive((Enum)UI.SPR_RUSH_TITLE, MonoBehaviourSingleton <InGameManager> .I.IsRush());
        }
        base.Initialize();
    }