public void PopCachePlayer(StageObject.COOP_MODE_TYPE coop_mode = StageObject.COOP_MODE_TYPE.NONE)
    {
        //IL_000d: Unknown result type (might be due to invalid IL or missing references)
        //IL_0012: Unknown result type (might be due to invalid IL or missing references)
        //IL_0037: Unknown result type (might be due to invalid IL or missing references)
        //IL_003c: Unknown result type (might be due to invalid IL or missing references)
        //IL_008a: Unknown result type (might be due to invalid IL or missing references)
        //IL_009d: Unknown result type (might be due to invalid IL or missing references)
        //IL_0104: Unknown result type (might be due to invalid IL or missing references)
        //IL_0111: Unknown result type (might be due to invalid IL or missing references)
        if (MonoBehaviourSingleton <StageObjectManager> .IsValid())
        {
            int     num            = 0;
            Vector3 appearPosGuest = Vector3.get_zero();
            if (MonoBehaviourSingleton <StageObjectManager> .I.boss != null)
            {
                appearPosGuest = MonoBehaviourSingleton <StageObjectManager> .I.boss._transform.get_position();
            }
            if (cachePlayerID != 0 && !IsPlayerPop())
            {
                num           = cachePlayerID;
                cachePlayerID = 0;
                Player player = MonoBehaviourSingleton <StageObjectManager> .I.FindCache(num) as Player;

                if (player != null)
                {
                    MonoBehaviourSingleton <StageObjectManager> .I.RemoveCacheObject(player);

                    player.get_gameObject().SetActive(true);
                    SetPlayerID(num);
                    player.SetAppearPosGuest(appearPosGuest);
                    if (coop_mode != 0)
                    {
                        player.SetCoopMode(coop_mode, clientId);
                    }
                }
            }
            int i = 0;
            for (int count = cacheSubPlayerIDs.Count; i < count; i++)
            {
                num = cacheSubPlayerIDs[i];
                Player player2 = MonoBehaviourSingleton <StageObjectManager> .I.FindCache(num) as Player;

                if (player2 != null)
                {
                    MonoBehaviourSingleton <StageObjectManager> .I.RemoveCacheObject(player2);

                    player2.get_gameObject().SetActive(true);
                    player2.SetAppearPosGuest(appearPosGuest);
                    if (coop_mode != 0)
                    {
                        player2.SetCoopMode(coop_mode, clientId);
                    }
                }
            }
            cacheSubPlayerIDs.Clear();
        }
    }
 public static void SetCoopModeForAll(StageObject.COOP_MODE_TYPE coop_mode, int client_id)
 {
     if (MonoBehaviourSingleton <StageObjectManager> .IsValid())
     {
         int i = 0;
         for (int count = MonoBehaviourSingleton <StageObjectManager> .I.objectList.Count; i < count; i++)
         {
             StageObject stageObject = MonoBehaviourSingleton <StageObjectManager> .I.objectList[i];
             if (stageObject.coopMode != coop_mode)
             {
                 stageObject.SetCoopMode(coop_mode, client_id);
             }
         }
     }
 }