private void OnAppServerRegistered(AckResponseCode responseCode, BaseAckMessage message) { if (responseCode == AckResponseCode.Success) { UpdateMapUsers(CentralAppServerRegister, UpdateUserCharacterMessage.UpdateType.Add); } }
private void OnRequestedDeleteCharacter(AckResponseCode responseCode, BaseAckMessage message) { ResponseDeleteCharacterMessage castedMessage = (ResponseDeleteCharacterMessage)message; switch (responseCode) { case AckResponseCode.Error: string errorMessage = string.Empty; switch (castedMessage.error) { case ResponseDeleteCharacterMessage.Error.NotLoggedin: errorMessage = LanguageManager.GetText(UITextKeys.UI_ERROR_NOT_LOGGED_IN.ToString()); break; } UISceneGlobal.Singleton.ShowMessageDialog(LanguageManager.GetText(UITextKeys.UI_LABEL_ERROR.ToString()), errorMessage); break; case AckResponseCode.Timeout: UISceneGlobal.Singleton.ShowMessageDialog(LanguageManager.GetText(UITextKeys.UI_LABEL_ERROR.ToString()), LanguageManager.GetText(UITextKeys.UI_ERROR_CONNECTION_TIMEOUT.ToString())); break; default: // Reload characters LoadCharacters(); break; } }
protected void HandleResponseUserLogout(LiteNetLibMessageHandler messageHandler) { TransportHandler transportHandler = messageHandler.transportHandler; BaseAckMessage message = messageHandler.ReadMessage <BaseAckMessage>(); transportHandler.TriggerAck(message.ackId, message.responseCode, message); }
private void OnLoadCharacters(AckResponseCode responseCode, BaseAckMessage message) { var castedMessage = (ResponseCharactersMessage)message; SelectionManager.Clear(); // Unenabled buttons buttonStart.gameObject.SetActive(false); buttonDelete.gameObject.SetActive(false); // Remove all models characterModelContainer.RemoveChildren(); CharacterModels.Clear(); var selectableCharacters = new List <PlayerCharacterData>(); switch (responseCode) { case AckResponseCode.Error: var errorMessage = string.Empty; switch (castedMessage.error) { case ResponseCharactersMessage.Error.NotLoggedin: errorMessage = "User not logged in"; break; } UISceneGlobal.Singleton.ShowMessageDialog("Cannot Load Characters", errorMessage); break; case AckResponseCode.Timeout: UISceneGlobal.Singleton.ShowMessageDialog("Cannot Load Characters", "Connection timeout"); break; default: selectableCharacters = castedMessage.characters; break; } // Show list of created characters for (var i = selectableCharacters.Count - 1; i >= 0; --i) { var selectableCharacter = selectableCharacters[i]; if (selectableCharacter == null || !GameInstance.PlayerCharacters.ContainsKey(selectableCharacter.DataId)) { selectableCharacters.RemoveAt(i); } } selectableCharacters.Sort(new PlayerCharacterDataLastUpdateComparer().Desc()); CacheList.Generate(selectableCharacters, (index, character, ui) => { var uiCharacter = ui.GetComponent <UICharacter>(); uiCharacter.Data = character; // Select trigger when add first entry so deactivate all models is okay beacause first model will active var characterModel = character.InstantiateModel(characterModelContainer); CharacterModels[character.Id] = characterModel; characterModel.gameObject.SetActive(false); characterModel.SetEquipWeapons(character.EquipWeapons); characterModel.SetEquipItems(character.EquipItems); SelectionManager.Add(uiCharacter); }); }
protected void OnRequestSpawnMap(AckResponseCode responseCode, BaseAckMessage messageData) { var castedMessage = messageData as ResponseSpawnMapMessage; if (LogInfo) { Debug.Log("Spawn Map Ack Id: " + messageData.ackId + " Status: " + responseCode + " Error: " + castedMessage.error); } }
private void OnValidateAccessToken(AckResponseCode responseCode, BaseAckMessage messageData) { if (responseCode == AckResponseCode.Success) { if (onValidateAccessTokenSuccess != null) { onValidateAccessTokenSuccess.Invoke(); } } }
public void OnAppServerRegistered(AckResponseCode responseCode, BaseAckMessage message) { if (responseCode == AckResponseCode.Success) { IsRegisteredToCentralServer = true; } if (onAppServerRegistered != null) { onAppServerRegistered(responseCode, message); } }
protected virtual void HandleRequestCashPackageInfo(LiteNetLibMessageHandler messageHandler) { long connectionId = messageHandler.connectionId; BaseAckMessage message = messageHandler.ReadMessage <BaseAckMessage>(); ResponseCashPackageInfoMessage responseMessage = new ResponseCashPackageInfoMessage(); responseMessage.ackId = message.ackId; responseMessage.responseCode = AckResponseCode.Error; responseMessage.error = ResponseCashPackageInfoMessage.Error.NotAvailable; ServerSendPacket(connectionId, DeliveryMethod.ReliableOrdered, MsgTypes.CashPackageInfo, responseMessage); }
private void OnRequestUserLogout(AckResponseCode responseCode, BaseAckMessage messageData, AckMessageCallback callback) { if (callback != null) { callback(responseCode, messageData); } UserId = string.Empty; AccessToken = string.Empty; SelectCharacterId = string.Empty; }
private void OnAppServerRegistered(AckResponseCode responseCode, BaseAckMessage message) { if (responseCode == AckResponseCode.Success) { if (spawningMaps == null || spawningMaps.Count == 0) { spawningMaps = new List <BaseMapInfo>(); spawningMaps.AddRange(GameInstance.MapInfos.Values); } SpawnMaps(spawningMaps).Forget(); } }
public void OnLogin(AckResponseCode responseCode, BaseAckMessage message) { LoggingIn = false; string storingUsername = string.Empty; string storingPassword = string.Empty; if (responseCode == AckResponseCode.Timeout) { UISceneGlobal.Singleton.ShowMessageDialog(LanguageManager.GetText(UITextKeys.UI_LABEL_ERROR.ToString()), LanguageManager.GetText(UITextKeys.UI_ERROR_CONNECTION_TIMEOUT.ToString())); if (onLoginFail != null) { onLoginFail.Invoke(); } return; } ResponseUserLoginMessage castedMessage = message as ResponseUserLoginMessage; switch (responseCode) { case AckResponseCode.Error: string errorMessage = string.Empty; switch (castedMessage.error) { case ResponseUserLoginMessage.Error.AlreadyLogin: errorMessage = LanguageManager.GetText(UITextKeys.UI_ERROR_ALREADY_LOGGED_IN.ToString()); break; case ResponseUserLoginMessage.Error.InvalidUsernameOrPassword: errorMessage = LanguageManager.GetText(UITextKeys.UI_ERROR_INVALID_USERNAME_OR_PASSWORD.ToString()); break; } UISceneGlobal.Singleton.ShowMessageDialog(LanguageManager.GetText(UITextKeys.UI_LABEL_ERROR.ToString()), errorMessage); if (onLoginFail != null) { onLoginFail.Invoke(); } break; default: if (toggleAutoLogin != null && toggleAutoLogin.isOn) { // Store password PlayerPrefs.SetString(keyPassword, storingPassword); PlayerPrefs.Save(); } if (onLoginSuccess != null) { onLoginSuccess.Invoke(); } break; } }
private void ResponseCashPackageInfo(AckResponseCode responseCode, BaseAckMessage message) { ResponseCashPackageInfoMessage castedMessage = (ResponseCashPackageInfoMessage)message; switch (responseCode) { case AckResponseCode.Error: UISceneGlobal.Singleton.ShowMessageDialog(LanguageManager.GetText(UILocaleKeys.UI_LABEL_ERROR.ToString()), LanguageManager.GetText(UILocaleKeys.UI_ERROR_CANNOT_GET_CASH_PACKAGE_INFO.ToString())); break; case AckResponseCode.Timeout: UISceneGlobal.Singleton.ShowMessageDialog(LanguageManager.GetText(UILocaleKeys.UI_LABEL_ERROR.ToString()), LanguageManager.GetText(UILocaleKeys.UI_ERROR_CONNECTION_TIMEOUT.ToString())); break; default: if (uiTextCash != null) { uiTextCash.text = string.Format( LanguageManager.GetText(formatKeyCash), castedMessage.cash.ToString("N0")); } List <CashPackage> cashPackages = new List <CashPackage>(); foreach (int cashPackageId in castedMessage.cashPackageIds) { CashPackage cashPackage; if (GameInstance.CashPackages.TryGetValue(cashPackageId, out cashPackage)) { cashPackages.Add(cashPackage); } } int selectedIdx = CacheCashPackageSelectionManager.SelectedUI != null?CacheCashPackageSelectionManager.IndexOf(CacheCashPackageSelectionManager.SelectedUI) : -1; CacheCashPackageSelectionManager.DeselectSelectedUI(); CacheCashPackageSelectionManager.Clear(); CacheCashPackageList.Generate(cashPackages, (index, cashShopItem, ui) => { UICashPackage uiCashPackage = ui.GetComponent <UICashPackage>(); uiCashPackage.uiCashPackages = this; uiCashPackage.Data = cashShopItem; uiCashPackage.Show(); CacheCashPackageSelectionManager.Add(uiCashPackage); if (selectedIdx == index) { uiCashPackage.OnClickSelect(); } }); break; } }
private void OnRequestSelectCharacter(AckResponseCode responseCode, BaseAckMessage messageData, string characterId, AckMessageCallback callback) { if (callback != null) { callback.Invoke(responseCode, messageData); } SelectCharacterId = string.Empty; if (messageData.responseCode == AckResponseCode.Success) { SelectCharacterId = characterId; } }
public void OnRegister(AckResponseCode responseCode, BaseAckMessage message) { Registering = false; if (responseCode == AckResponseCode.Timeout) { UISceneGlobal.Singleton.ShowMessageDialog(LanguageManager.GetText(UITextKeys.UI_LABEL_ERROR.ToString()), LanguageManager.GetText(UITextKeys.UI_ERROR_CONNECTION_TIMEOUT.ToString())); if (onRegisterFail != null) { onRegisterFail.Invoke(); } return; } ResponseUserRegisterMessage castedMessage = message as ResponseUserRegisterMessage; switch (responseCode) { case AckResponseCode.Error: string errorMessage = string.Empty; switch (castedMessage.error) { case ResponseUserRegisterMessage.Error.TooShortUsername: errorMessage = LanguageManager.GetText(UITextKeys.UI_ERROR_USERNAME_TOO_SHORT.ToString()); break; case ResponseUserRegisterMessage.Error.TooLongUsername: errorMessage = LanguageManager.GetText(UITextKeys.UI_ERROR_USERNAME_TOO_LONG.ToString()); break; case ResponseUserRegisterMessage.Error.TooShortPassword: errorMessage = LanguageManager.GetText(UITextKeys.UI_ERROR_PASSWORD_TOO_SHORT.ToString()); break; case ResponseUserRegisterMessage.Error.UsernameAlreadyExisted: errorMessage = LanguageManager.GetText(UITextKeys.UI_ERROR_USERNAME_EXISTED.ToString()); break; } UISceneGlobal.Singleton.ShowMessageDialog(LanguageManager.GetText(UITextKeys.UI_LABEL_ERROR.ToString()), errorMessage); if (onRegisterFail != null) { onRegisterFail.Invoke(); } break; default: if (onRegisterSuccess != null) { onRegisterSuccess.Invoke(); } break; } }
private void ResponseCashShopInfo(AckResponseCode responseCode, BaseAckMessage message) { var castedMessage = (ResponseCashShopInfoMessage)message; switch (responseCode) { case AckResponseCode.Error: UISceneGlobal.Singleton.ShowMessageDialog("Error", "Cannot retrieve cash shop info"); break; case AckResponseCode.Timeout: UISceneGlobal.Singleton.ShowMessageDialog("Error", "Connection timeout"); break; default: if (uiTextCash != null) { uiTextCash.text = string.Format(cashFormat, castedMessage.cash.ToString("N0")); } var cashShopItems = new List <CashShopItem>(); foreach (var cashShopItemId in castedMessage.cashShopItemIds) { CashShopItem cashShopItem; if (GameInstance.CashShopItems.TryGetValue(cashShopItemId, out cashShopItem)) { cashShopItems.Add(cashShopItem); } } var selectedIdx = SelectionManager.SelectedUI != null?SelectionManager.IndexOf(SelectionManager.SelectedUI) : -1; SelectionManager.DeselectSelectedUI(); SelectionManager.Clear(); CacheList.Generate(cashShopItems, (index, cashShopItem, ui) => { var uiCashShopItem = ui.GetComponent <UICashShopItem>(); uiCashShopItem.uiCashShop = this; uiCashShopItem.Data = cashShopItem; uiCashShopItem.Show(); SelectionManager.Add(uiCashShopItem); if (selectedIdx == index) { uiCashShopItem.OnClickSelect(); } }); break; } }
public void OnRegister(AckResponseCode responseCode, BaseAckMessage message) { ResponseUserRegisterMessage castedMessage = (ResponseUserRegisterMessage)message; switch (responseCode) { case AckResponseCode.Error: string errorMessage = string.Empty; switch (castedMessage.error) { case ResponseUserRegisterMessage.Error.TooShortUsername: errorMessage = "Username is too short"; break; case ResponseUserRegisterMessage.Error.TooLongUsername: errorMessage = "Username is too long"; break; case ResponseUserRegisterMessage.Error.TooShortPassword: errorMessage = "Password is too short"; break; case ResponseUserRegisterMessage.Error.UsernameAlreadyExisted: errorMessage = "Username is already existed"; break; } UISceneGlobal.Singleton.ShowMessageDialog("Cannot Register", errorMessage); if (onRegisterFail != null) { onRegisterFail.Invoke(); } break; case AckResponseCode.Timeout: UISceneGlobal.Singleton.ShowMessageDialog("Cannot Register", "Connection timeout"); if (onRegisterFail != null) { onRegisterFail.Invoke(); } break; default: if (onRegisterSuccess != null) { onRegisterSuccess.Invoke(); } break; } }
private void OnRequestSelectCharacter(AckResponseCode responseCode, BaseAckMessage messageData, string characterId, AckMessageCallback callback) { if (callback != null) { callback(responseCode, messageData); } SelectCharacterId = string.Empty; ResponseSelectCharacterMessage castedMessage = messageData as ResponseSelectCharacterMessage; if (castedMessage.responseCode == AckResponseCode.Success) { SelectCharacterId = characterId; } }
private void OnAppServerRegistered(AckResponseCode responseCode, BaseAckMessage message) { if (responseCode == AckResponseCode.Success) { if (spawningMaps == null || spawningMaps.Count == 0) { spawningMaps = new List <MapInfo>(); spawningMaps.AddRange(GameInstance.MapInfos.Values); } foreach (MapInfo map in spawningMaps) { SpawnMap(map.Id, true); } } }
private void OnRequestValidateAccessToken(AckResponseCode responseCode, BaseAckMessage messageData, AckMessageCallback callback) { if (callback != null) { callback.Invoke(responseCode, messageData); } UserId = string.Empty; AccessToken = string.Empty; if (messageData.responseCode == AckResponseCode.Success) { ResponseValidateAccessTokenMessage castedMessage = messageData as ResponseValidateAccessTokenMessage; UserId = castedMessage.userId; AccessToken = castedMessage.accessToken; } }
protected void OnRequestSpawnMap(AckResponseCode responseCode, BaseAckMessage messageData) { ResponseSpawnMapMessage castedMessage = messageData as ResponseSpawnMapMessage; if (LogInfo) { Logging.Log(LogTag, "Spawn Map Ack Id: " + messageData.ackId + " Status: " + responseCode + " Error: " + castedMessage.error); } // Forward responses to map server transport handler KeyValuePair <TransportHandler, uint> requestSpawnMapHandler; if (requestSpawnMapHandlers.TryGetValue(castedMessage.ackId, out requestSpawnMapHandler)) { requestSpawnMapHandler.Key.ReadResponse(requestSpawnMapHandler.Value, castedMessage.responseCode, castedMessage); } }
private void OnRequestedCreateCharacter(AckResponseCode responseCode, BaseAckMessage message) { if (responseCode == AckResponseCode.Timeout) { UISceneGlobal.Singleton.ShowMessageDialog(LanguageManager.GetText(UITextKeys.UI_LABEL_ERROR.ToString()), LanguageManager.GetText(UITextKeys.UI_ERROR_CONNECTION_TIMEOUT.ToString())); return; } ResponseCreateCharacterMessage castedMessage = message as ResponseCreateCharacterMessage; switch (responseCode) { case AckResponseCode.Error: string errorMessage = string.Empty; switch (castedMessage.error) { case ResponseCreateCharacterMessage.Error.NotLoggedin: errorMessage = LanguageManager.GetText(UITextKeys.UI_ERROR_NOT_LOGGED_IN.ToString()); break; case ResponseCreateCharacterMessage.Error.InvalidData: errorMessage = LanguageManager.GetText(UITextKeys.UI_ERROR_INVALID_DATA.ToString()); break; case ResponseCreateCharacterMessage.Error.TooShortCharacterName: errorMessage = LanguageManager.GetText(UITextKeys.UI_ERROR_CHARACTER_NAME_TOO_SHORT.ToString()); break; case ResponseCreateCharacterMessage.Error.TooLongCharacterName: errorMessage = LanguageManager.GetText(UITextKeys.UI_ERROR_CHARACTER_NAME_TOO_LONG.ToString()); break; case ResponseCreateCharacterMessage.Error.CharacterNameAlreadyExisted: errorMessage = LanguageManager.GetText(UITextKeys.UI_ERROR_CHARACTER_NAME_EXISTED.ToString()); break; } UISceneGlobal.Singleton.ShowMessageDialog(LanguageManager.GetText(UITextKeys.UI_LABEL_ERROR.ToString()), errorMessage); break; default: if (eventOnCreateCharacter != null) { eventOnCreateCharacter.Invoke(); } break; } }
private void OnRequestedCreateCharacter(AckResponseCode responseCode, BaseAckMessage message) { ResponseCreateCharacterMessage castedMessage = (ResponseCreateCharacterMessage)message; switch (responseCode) { case AckResponseCode.Error: string errorMessage = string.Empty; switch (castedMessage.error) { case ResponseCreateCharacterMessage.Error.NotLoggedin: errorMessage = "User not logged in"; break; case ResponseCreateCharacterMessage.Error.InvalidData: errorMessage = "Invalid data"; break; case ResponseCreateCharacterMessage.Error.TooShortCharacterName: errorMessage = "Character name is too short"; break; case ResponseCreateCharacterMessage.Error.TooLongCharacterName: errorMessage = "Character name is too long"; break; case ResponseCreateCharacterMessage.Error.CharacterNameAlreadyExisted: errorMessage = "Character name is already existed"; break; } UISceneGlobal.Singleton.ShowMessageDialog("Cannot Create Characters", errorMessage); break; case AckResponseCode.Timeout: UISceneGlobal.Singleton.ShowMessageDialog("Cannot Create Characters", "Connection timeout"); break; default: if (eventOnCreateCharacter != null) { eventOnCreateCharacter.Invoke(); } break; } }
private void ResponseCashPackageBuyValidation(AckResponseCode responseCode, BaseAckMessage message) { var castedMessage = (ResponseCashPackageBuyValidationMessage)message; switch (responseCode) { case AckResponseCode.Error: var errorMessage = string.Empty; switch (castedMessage.error) { case ResponseCashPackageBuyValidationMessage.Error.UserNotFound: errorMessage = "User not found"; break; case ResponseCashPackageBuyValidationMessage.Error.PackageNotFound: errorMessage = "Package not found"; break; case ResponseCashPackageBuyValidationMessage.Error.Invalid: errorMessage = "Invalid"; break; } PurchaseResult(false, errorMessage); break; case AckResponseCode.Timeout: UISceneGlobal.Singleton.ShowMessageDialog("Error", "Connection timeout"); PurchaseResult(false, "Connection timeout"); break; default: CashPackage package; if (CashPackages.TryGetValue(castedMessage.dataId, out package)) { StoreController.ConfirmPendingPurchase(package.ProductData); PurchaseResult(true); } else { PurchaseResult(false, "Package not found"); } break; } }
private void OnRequestUserLogin(AckResponseCode responseCode, BaseAckMessage messageData, AckMessageCallback callback) { if (callback != null) { callback(responseCode, messageData); } UserId = string.Empty; AccessToken = string.Empty; SelectCharacterId = string.Empty; ResponseUserLoginMessage castedMessage = messageData as ResponseUserLoginMessage; if (castedMessage.responseCode == AckResponseCode.Success) { UserId = castedMessage.userId; AccessToken = castedMessage.accessToken; SelectCharacterId = string.Empty; } }
private IEnumerator HandleRequestUserLogoutRoutine(LiteNetLibMessageHandler messageHandler) { long connectionId = messageHandler.connectionId; BaseAckMessage message = messageHandler.ReadMessage <BaseAckMessage>(); CentralUserPeerInfo userPeerInfo; if (userPeers.TryGetValue(connectionId, out userPeerInfo)) { userPeersByUserId.Remove(userPeerInfo.userId); userPeers.Remove(connectionId); UpdateAccessTokenJob updateAccessTokenJob = new UpdateAccessTokenJob(Database, userPeerInfo.userId, string.Empty); updateAccessTokenJob.Start(); yield return(StartCoroutine(updateAccessTokenJob.WaitFor())); } BaseAckMessage responseMessage = new BaseAckMessage(); responseMessage.ackId = message.ackId; responseMessage.responseCode = AckResponseCode.Success; ServerSendPacket(connectionId, DeliveryMethod.ReliableOrdered, MMOMessageTypes.ResponseUserLogout, responseMessage); }
public void OnLogin(AckResponseCode responseCode, BaseAckMessage message) { ResponseUserLoginMessage castedMessage = (ResponseUserLoginMessage)message; switch (responseCode) { case AckResponseCode.Error: string errorMessage = string.Empty; switch (castedMessage.error) { case ResponseUserLoginMessage.Error.AlreadyLogin: errorMessage = LanguageManager.GetText(UITextKeys.UI_ERROR_ALREADY_LOGGED_IN.ToString()); break; case ResponseUserLoginMessage.Error.InvalidUsernameOrPassword: errorMessage = LanguageManager.GetText(UITextKeys.UI_ERROR_INVALID_USERNAME_OR_PASSWORD.ToString()); break; } UISceneGlobal.Singleton.ShowMessageDialog(LanguageManager.GetText(UITextKeys.UI_LABEL_ERROR.ToString()), errorMessage); if (onLoginFail != null) { onLoginFail.Invoke(); } break; case AckResponseCode.Timeout: UISceneGlobal.Singleton.ShowMessageDialog(LanguageManager.GetText(UITextKeys.UI_LABEL_ERROR.ToString()), LanguageManager.GetText(UITextKeys.UI_ERROR_CONNECTION_TIMEOUT.ToString())); if (onLoginFail != null) { onLoginFail.Invoke(); } break; default: if (onLoginSuccess != null) { onLoginSuccess.Invoke(); } break; } }
public void OnLogin(AckResponseCode responseCode, BaseAckMessage message) { var castedMessage = (ResponseUserLoginMessage)message; switch (responseCode) { case AckResponseCode.Error: var errorMessage = string.Empty; switch (castedMessage.error) { case ResponseUserLoginMessage.Error.AlreadyLogin: errorMessage = "User already logged in"; break; case ResponseUserLoginMessage.Error.InvalidUsernameOrPassword: errorMessage = "Invalid username or password"; break; } UISceneGlobal.Singleton.ShowMessageDialog("Cannot Login", errorMessage); if (onLoginFail != null) { onLoginFail.Invoke(); } break; case AckResponseCode.Timeout: UISceneGlobal.Singleton.ShowMessageDialog("Cannot Login", "Connection timeout"); if (onLoginFail != null) { onLoginFail.Invoke(); } break; default: if (onLoginSuccess != null) { onLoginSuccess.Invoke(); } break; } }
private void OnRequestedSelectCharacter(AckResponseCode responseCode, BaseAckMessage message) { if (responseCode == AckResponseCode.Timeout) { UISceneGlobal.Singleton.ShowMessageDialog(LanguageManager.GetText(UITextKeys.UI_LABEL_ERROR.ToString()), LanguageManager.GetText(UITextKeys.UI_ERROR_CONNECTION_TIMEOUT.ToString())); return; } ResponseSelectCharacterMessage castedMessage = message as ResponseSelectCharacterMessage; switch (responseCode) { case AckResponseCode.Error: string errorMessage = string.Empty; switch (castedMessage.error) { case ResponseSelectCharacterMessage.Error.NotLoggedin: errorMessage = LanguageManager.GetText(UITextKeys.UI_ERROR_NOT_LOGGED_IN.ToString()); break; case ResponseSelectCharacterMessage.Error.AlreadySelectCharacter: errorMessage = LanguageManager.GetText(UITextKeys.UI_ERROR_ALREADY_SELECT_CHARACTER.ToString()); break; case ResponseSelectCharacterMessage.Error.InvalidCharacterData: errorMessage = LanguageManager.GetText(UITextKeys.UI_ERROR_INVALID_CHARACTER_DATA.ToString()); break; case ResponseSelectCharacterMessage.Error.MapNotReady: errorMessage = LanguageManager.GetText(UITextKeys.UI_ERROR_MAP_SERVER_NOT_READY.ToString()); break; } UISceneGlobal.Singleton.ShowMessageDialog(LanguageManager.GetText(UITextKeys.UI_LABEL_ERROR.ToString()), errorMessage); break; default: MMOClientInstance.Singleton.StartMapClient(castedMessage.sceneName, castedMessage.networkAddress, castedMessage.networkPort); break; } }
private void OnAppServerRegistered(AckResponseCode responseCode, BaseAckMessage message) { if (responseCode == AckResponseCode.Success) { if (spawningScenes == null || spawningScenes.Count == 0) { spawningScenes = new List <UnityScene>(); List <string> sceneNames = GameInstance.Singleton.GetGameScenes(); foreach (string sceneName in sceneNames) { spawningScenes.Add(new UnityScene() { SceneName = sceneName }); } } foreach (UnityScene scene in spawningScenes) { SpawnMap(scene, true); } } }
private async UniTaskVoid HandleRequestUserLogoutRoutine(LiteNetLibMessageHandler messageHandler) { long connectionId = messageHandler.connectionId; BaseAckMessage message = messageHandler.ReadMessage <BaseAckMessage>(); CentralUserPeerInfo userPeerInfo; if (userPeers.TryGetValue(connectionId, out userPeerInfo)) { userPeersByUserId.Remove(userPeerInfo.userId); userPeers.Remove(connectionId); await DbServiceClient.UpdateAccessTokenAsync(new UpdateAccessTokenReq() { UserId = userPeerInfo.userId, AccessToken = string.Empty }); } BaseAckMessage responseMessage = new BaseAckMessage(); responseMessage.ackId = message.ackId; responseMessage.responseCode = AckResponseCode.Success; ServerSendResponse(connectionId, MMOMessageTypes.ResponseUserLogout, responseMessage); }