public void DataReceived(object sender, NetworkReceiveEventArgs e) { Response response; switch (NetworkHelperExtention.GetPackageType(e.Data)) { case PackageType.Login: response = NetworkHelper.Deserialize <LoginResponse>(e.Data); if (response.Success) { MainThreadExecution.OnMainThread(delegate { Camera.main.GetComponent <CameraAutoNavigation>().SetTarget(GameObject.Find("CharacterSelectionCameraPoint")); }); } else { MainThreadExecution.OnMainThread(delegate { GameObject.Find("LoginScreen").GetComponent <Animator>().SetTrigger("LoginFail"); FindObjectOfType <LoginScreenObject>().ShowError((response as LoginResponse).Error.ToString()); }); } break; case PackageType.CreateCharacter: response = NetworkHelper.Deserialize <CreateCharacterResponse>(e.Data); if (response.Success) { Debug.Log("Character Created"); } else { MainThreadExecution.OnMainThread(delegate { switch (((CreateCharacterResponse)response).Error) { case ResultType.NameExists: FindObjectOfType <CharacterCreationScreenObject>().ShowError("Name already exists"); break; case ResultType.InvalidName: FindObjectOfType <CharacterCreationScreenObject>().ShowError("Invalid Name"); break; case ResultType.CharacterLimit: FindObjectOfType <CharacterCreationScreenObject>().ShowError("Character Limit Reached"); break; case ResultType.UnknownError: FindObjectOfType <CharacterCreationScreenObject>().ShowError("Unknown Error"); break; } }); } break; } }
protected virtual void OnDataReceived(object sender, NetworkReceiveEventArgs e) { switch (NetworkHelper.GetPackageType(e.Data)) { case PackageType.Login: LoginResponse loginResponse = NetworkHelper.Deserialize <LoginResponse>(e.Data); if (loginResponse.Success) { OnLoggedIn(loginResponse.Data); } else { OnLoginFailed(); } break; case PackageType.Logout: LogoutResponse logoutResponse = NetworkHelper.Deserialize <LogoutResponse>(e.Data); if (logoutResponse.Success) { OnLoggedOut(logoutResponse.Status); } else { OnLogoutFailed(); } break; case PackageType.SelectCharacter: SelectCharacterResponse response = NetworkHelper.Deserialize <SelectCharacterResponse>(e.Data); if (response.Success) { OnCharacterSelected(response.CharacterId); } break; case PackageType.GetAccountCharacters: GetAccountCharactersResponse charSelectionResponse = NetworkHelper.Deserialize <GetAccountCharactersResponse>(e.Data); if (charSelectionResponse.Success) { OnUserCharactersReceived(charSelectionResponse.Characters); } break; } //} catch (System.Exception ex){ // Debug.LogError (ex.Message); //} }
private void OnNetworkReceived(object sender, NetworkReceiveEventArgs e) { Debug.Log("Message received: " + e.Data); }
private void OnDataReceived(object sender, NetworkReceiveEventArgs e) { NetworkCharacter = NetworkHelper.Deserialize <Character>(e.Data); }