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; }