Exemple #1
0
    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);
        //}
    }
Exemple #3
0
 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);
 }