public IEnumerator SendLeaderChange(int leaderindex) { LeaderChangeData message = new LeaderChangeData { playerUserId = ClassSingleton <MultiBattleData> .Instance.MyPlayerUserId, hashValue = Singleton <TCPUtil> .Instance.CreateHash(TCPMessageType.LeaderChange, ClassSingleton <MultiBattleData> .Instance.MyPlayerUserId, TCPMessageType.None), leaderIndex = leaderindex }; IEnumerator wait = this.SendMessageInsistently <LeaderChangeData>(TCPMessageType.LeaderChange, message, 2f); while (wait.MoveNext()) { object obj = wait.Current; yield return(obj); } base.battleStateData.ChangePlayerLeader(message.leaderIndex); base.battleStateData.ChangeEnemyLeader(message.leaderIndex); yield break; }
protected void RecieveLeaderChange(TCPMessageType tcpMessageType, object messageObj) { if (this.isDisconnected) { global::Debug.Log("LeaderChange: 切断中"); return; } global::Debug.Log("LeaderChange: 受信"); LeaderChangeData data = TCPData <LeaderChangeData> .Convert(messageObj); if (this.CheckHash(data.hashValue)) { return; } this.lastAction[tcpMessageType] = delegate() { this.battleStateData.ChangePlayerLeader(data.leaderIndex); this.battleStateData.ChangeEnemyLeader(data.leaderIndex); this.recieveChecks[tcpMessageType] = true; }; this.SendConfirmation(tcpMessageType, data.playerUserId, string.Empty); }