public IEnumerator SendRetire() { if (this.isSendEvent) { yield break; } RetireData message = new RetireData { playerUserId = ClassSingleton <MultiBattleData> .Instance.MyPlayerUserId, hashValue = Singleton <TCPUtil> .Instance.CreateHash(TCPMessageType.Retire, ClassSingleton <MultiBattleData> .Instance.MyPlayerUserId, TCPMessageType.None), retiredPlayerId = ClassSingleton <MultiBattleData> .Instance.MyPlayerUserId }; global::Debug.LogFormat("[リタイア]playerUserId:{0} hashValue:{1}", new object[] { message.playerUserId, message.hashValue }); IEnumerator wait = this.SendMessageInsistently <RetireData>(TCPMessageType.Retire, message, 2f); while (wait.MoveNext()) { object obj = wait.Current; yield return(obj); } this.StopSomething(); base.stateManager.events.CallRetireEvent(); yield break; }
private void RecieveRetire(TCPMessageType tcpMessageType, object messageObj) { global::Debug.Log("Retire: リタイア"); RetireData retierData = TCPData <RetireData> .Convert(messageObj); if (base.CheckRecieveData(retierData.playerUserId, retierData.hashValue)) { return; } this.lastAction[TCPMessageType.Retire] = delegate() { if (retierData.retiredPlayerId != ClassSingleton <MultiBattleData> .Instance.MyPlayerUserId) { this.ShowWinDialog(); } }; base.SendConfirmation(tcpMessageType, retierData.playerUserId, string.Empty); }