private IEnumerator RevivalSync() { base.stateManager.uiControlMulti.ShowLoading(false); base.stateManager.uiControl.SetTouchEnable(false); while (base.stateManager.multiFunction.isSendCharacterRevival) { yield return(null); } if (base.stateManager.multiFunction.IsOwner) { EnemyTurnSyncData message = new EnemyTurnSyncData { playerUserId = ClassSingleton <MultiBattleData> .Instance.MyPlayerUserId, hashValue = Singleton <TCPUtil> .Instance.CreateHash(TCPMessageType.EnemyTurnSync, ClassSingleton <MultiBattleData> .Instance.MyPlayerUserId, TCPMessageType.None) }; IEnumerator wait = base.stateManager.multiBasicFunction.SendMessageInsistently <EnemyTurnSyncData>(TCPMessageType.EnemyTurnSync, message, 2f); while (wait.MoveNext()) { object obj = wait.Current; yield return(obj); } } else { IEnumerator waitAllPlayers = base.stateManager.multiFunction.WaitAllPlayers(TCPMessageType.EnemyTurnSync); while (waitAllPlayers.MoveNext()) { object obj2 = waitAllPlayers.Current; yield return(obj2); } } base.stateManager.uiControl.SetTouchEnable(true); base.stateManager.uiControlMulti.HideLoading(); yield break; }
private void RecieveEnemyTurnSync(TCPMessageType tcpMessageType, object messageObj) { global::Debug.Log("EnemyTurnSync: 受信"); EnemyTurnSyncData enemyTurnSyncData = TCPData <EnemyTurnSyncData> .Convert(messageObj); if (base.CheckRecieveData(enemyTurnSyncData.playerUserId, enemyTurnSyncData.hashValue)) { return; } this.lastAction[TCPMessageType.EnemyTurnSync] = delegate() { this.recieveChecks[TCPMessageType.EnemyTurnSync] = true; }; base.SendConfirmationDisconnected(tcpMessageType, enemyTurnSyncData.playerUserId, string.Empty); }
private IEnumerator BattleEndActionSync() { if (base.IsOwner) { EnemyTurnSyncData message = new EnemyTurnSyncData { playerUserId = ClassSingleton <MultiBattleData> .Instance.MyPlayerUserId, hashValue = Singleton <TCPUtil> .Instance.CreateHash(TCPMessageType.EnemyTurnSync, ClassSingleton <MultiBattleData> .Instance.MyPlayerUserId, TCPMessageType.None) }; float sendWaitTime = 2f; float waitingCount = 0f; for (;;) { if (sendWaitTime >= 2f) { sendWaitTime = 0f; base.SendMessageForSyncDisconnected(TCPMessageType.EnemyTurnSync, message); } if (waitingCount >= 45f || this.confirmationChecks[TCPMessageType.EnemyTurnSync].Count == base.otherUserCount) { break; } sendWaitTime += Time.unscaledDeltaTime; waitingCount += Time.unscaledDeltaTime; yield return(null); } LastConfirmationData message2 = new LastConfirmationData { playerUserId = ClassSingleton <MultiBattleData> .Instance.MyPlayerUserId, hashValue = Singleton <TCPUtil> .Instance.CreateHash(TCPMessageType.LastConfirmation, ClassSingleton <MultiBattleData> .Instance.MyPlayerUserId, TCPMessageType.EnemyTurnSync), tcpMessageType = TCPMessageType.EnemyTurnSync.ToInteger() }; base.SendMessageForSync(TCPMessageType.LastConfirmation, message2); this.confirmationChecks[TCPMessageType.EnemyTurnSync].Clear(); } else { float waitingCount2 = 0f; while (waitingCount2 < 45f && !this.recieveChecks[TCPMessageType.EnemyTurnSync]) { waitingCount2 += Time.unscaledDeltaTime; yield return(null); } this.recieveChecks[TCPMessageType.EnemyTurnSync] = false; } yield break; }