protected virtual void RecieveRandomSeedSync(TCPMessageType tcpMessageType, object messageObj)
    {
        if (this.isDisconnected)
        {
            global::Debug.Log("RandomSeedSync: 切断中");
            return;
        }
        global::Debug.Log("RandomSeedSync: 受信");
        if (base.stateManager.rootState.currentState.GetType() != typeof(SubStateWaitRandomSeedSync))
        {
            return;
        }
        RandomSeedSyncData randomSeedSyncData = TCPData <RandomSeedSyncData> .Convert(messageObj);

        if (this.CheckRecieveData(randomSeedSyncData.playerUserId, randomSeedSyncData.hashValue))
        {
            return;
        }
        this.lastAction[TCPMessageType.RandomSeedSync] = delegate()
        {
            global::Debug.LogFormat("randomSeed:{0}", new object[]
            {
                randomSeedSyncData.randomSeed
            });
            UnityEngine.Random.InitState(randomSeedSyncData.randomSeed);
            this.recieveChecks[TCPMessageType.RandomSeedSync] = true;
        };
        this.SendConfirmation(tcpMessageType, randomSeedSyncData.playerUserId, string.Empty);
    }
    public IEnumerator SendRandomSeedSync()
    {
        int randomSeed             = (int)DateTime.Now.Ticks & 65535;
        RandomSeedSyncData message = new RandomSeedSyncData
        {
            playerUserId = ClassSingleton <MultiBattleData> .Instance.MyPlayerUserId,
            hashValue    = Singleton <TCPUtil> .Instance.CreateHash(TCPMessageType.RandomSeedSync, ClassSingleton <MultiBattleData> .Instance.MyPlayerUserId, TCPMessageType.None),
            randomSeed   = randomSeed
        };

        global::Debug.LogFormat("[RandomSeedSync送信] randomSeed:{0}", new object[]
        {
            randomSeed
        });
        IEnumerator wait = base.stateManager.multiBasicFunction.SendMessageInsistently <RandomSeedSyncData>(TCPMessageType.RandomSeedSync, message, 2f);

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