protected void RecieveAdventureSceneData(TCPMessageType tcpMessageType, object messageObj)
    {
        if (this.isDisconnected)
        {
            global::Debug.Log("AdventureSceneData: 切断中");
            return;
        }
        global::Debug.Log("AdventureSceneData: 受信");
        AdventureSceneData data = TCPData <AdventureSceneData> .Convert(messageObj);

        if (this.CheckHash(data.hashValue))
        {
            return;
        }
        this.lastAction[tcpMessageType] = delegate()
        {
            this.isAdventureSceneAllEnd = (data.isEnd == 1);
            if (this.isAdventureSceneAllEnd)
            {
                this.adventureSceneEndList.Clear();
            }
            this.recieveChecks[tcpMessageType] = true;
        };
        int num = (!base.stateManager.battleAdventureSceneManager.isUpdate) ? 1 : 0;

        this.SendConfirmation(tcpMessageType, data.playerUserId, num.ToString());
    }
    public IEnumerator SendAdventureSceneData()
    {
        this.isAdventureSceneAllEnd = false;
        string[] otherUsersIds = this.GetOtherUsersId().ToArray <string>();
        if (otherUsersIds.Length > 0)
        {
            int num = 0;
            foreach (string a in otherUsersIds)
            {
                foreach (string b in this.adventureSceneEndList)
                {
                    if (a == b)
                    {
                        num++;
                        break;
                    }
                }
            }
            if (!base.stateManager.battleAdventureSceneManager.isUpdate && num >= otherUsersIds.Length)
            {
                this.isAdventureSceneAllEnd = true;
            }
        }
        else
        {
            this.isAdventureSceneAllEnd = true;
        }
        if (this.isAdventureSceneAllEnd)
        {
            this.adventureSceneEndList.Clear();
        }
        AdventureSceneData message = new AdventureSceneData
        {
            playerUserId = ClassSingleton <MultiBattleData> .Instance.MyPlayerUserId,
            hashValue    = Singleton <TCPUtil> .Instance.CreateHash(TCPMessageType.AdventureScene, ClassSingleton <MultiBattleData> .Instance.MyPlayerUserId, TCPMessageType.None),
            isEnd        = ((!this.isAdventureSceneAllEnd) ? 0 : 1)
        };
        IEnumerator wait = this.SendMessageInsistently <AdventureSceneData>(TCPMessageType.AdventureScene, message, 2f);

        while (wait.MoveNext())
        {
            object obj = wait.Current;
            yield return(obj);
        }
        yield break;
    }