예제 #1
0
    public IEnumerator Register(string username, string password)
    {
        JSONUser user = new JSONUser();

        user.name     = username;
        user.password = password;


        var bodyData = JsonUtility.ToJson(user, true);
        var postData = System.Text.Encoding.UTF8.GetBytes(bodyData);

        UnityWebRequest  request = UnityWebRequest.Post(ip + "/register", UnityWebRequest.kHttpVerbPOST);
        UploadHandlerRaw uH      = new UploadHandlerRaw(postData);

        request.uploadHandler = uH;
        request.SetRequestHeader("Content-Type", "application/json");

        yield return(request.SendWebRequest());

        if (request.isNetworkError)
        {
            Debug.Log(request.error);
        }
        else
        {
            token = request.downloadHandler.text;
            PlayerPrefs.SetString("token", token);
            PlayerPrefs.SetString("user", username);
            tokenSet = true;
            LoginEventInfo loginEvent = ScriptableObject.CreateInstance <LoginEventInfo>();
            loginEvent.eventState = LoginEventInfo.LoginEventState.REGISTRATION_SUCCESSFUL;
            NotificationTextScript.GetNotificationTextScript().SetNotificationTextAndShow("Registration successful! The game will start now!");
            EventSystem.EventSystem.FireEvent(loginEvent);
        }
    }
예제 #2
0
    void OnClick()
    {
        LoginEventInfo loginEvent = ScriptableObject.CreateInstance <LoginEventInfo>();

        loginEvent.eventState = LoginEventInfo.LoginEventState.LOGIN_SUCCESSFUL;
        EventSystem.EventSystem.FireEvent(loginEvent);
    }
예제 #3
0
    public void BackToMenu()
    {
        LoginEventInfo eventInfo = ScriptableObject.CreateInstance <LoginEventInfo>();

        eventInfo.eventState = LoginEventInfo.LoginEventState.BACK_TO_MENU;
        EventSystem.EventSystem.FireEvent(eventInfo);
        GameInitializer.ClearAll();
    }
예제 #4
0
 private void OnClick()
 {
     if (doesLogout)
     {
         PlayerPrefs.SetString("token", "");
         LoginEventInfo eventInfo = ScriptableObject.CreateInstance <LoginEventInfo>();
         eventInfo.eventState = LoginEventInfo.LoginEventState.LOGOUT;
         EventSystem.EventSystem.FireEvent(eventInfo);
     }
     else
     {
         LoginEventInfo eventInfo = ScriptableObject.CreateInstance <LoginEventInfo>();
         eventInfo.eventState = LoginEventInfo.LoginEventState.BACK_TO_MENU;
         EventSystem.EventSystem.FireEvent(eventInfo);
     }
 }
예제 #5
0
    public IEnumerator Login(string username, string password)
    {
        JSONUser user = new JSONUser();

        user.name     = username;
        user.password = password;

        var bodyData = JsonUtility.ToJson(user, true);
        var postData = System.Text.Encoding.UTF8.GetBytes(bodyData);

        UnityWebRequest  request = UnityWebRequest.Post(ip + "/login", UnityWebRequest.kHttpVerbPOST);
        UploadHandlerRaw uH      = new UploadHandlerRaw(postData);

        request.uploadHandler = uH;
        request.SetRequestHeader("Content-Type", "application/json");

        yield return(request.SendWebRequest());

        if (request.isNetworkError)
        {
            Debug.Log(request.error);
        }
        else
        {
            if (!request.downloadHandler.text.Equals("Could not authenticate player"))
            {
                token = request.downloadHandler.text;
                PlayerPrefs.SetString("token", token);
                PlayerPrefs.SetString("user", username);
                tokenSet = true;
                LoginEventInfo loginEvent = ScriptableObject.CreateInstance <LoginEventInfo>();
                loginEvent.eventState = LoginEventInfo.LoginEventState.LOGIN_SUCCESSFUL;
                EventSystem.EventSystem.FireEvent(loginEvent);
                Debug.Log("Successfully logged in, Token : " + token);
            }
            else
            {
                NotificationTextScript.GetNotificationTextScript().SetNotificationTextAndShow("Invalid Login Data");
            }
        }
    }
예제 #6
0
    public void HandleLoginEvent(LoginEventInfo loginEventInfo)
    {
        switch (loginEventInfo.eventState)
        {
        case LoginEventInfo.LoginEventState.LOGIN_SUCCESSFUL:
            StartCoroutine(GetEntities());
            break;

        case LoginEventInfo.LoginEventState.LOGIN_FAILED:
            break;

        case LoginEventInfo.LoginEventState.REGISTRATION_SUCCESSFUL:
            //StartCoroutine(GetEntities());
            GameInitializer.ClearAll();
            GameInitializer.StartGameFirstTime();
            break;

        case LoginEventInfo.LoginEventState.REGISTRATION_FAILED:
            break;
        }
    }
예제 #7
0
    private void HandleLoginEvent(LoginEventInfo loginEventInfo)
    {
        switch (loginEventInfo.eventState)
        {
        case LoginEventInfo.LoginEventState.LOGIN_SUCCESSFUL:
            startMenu.SetActive(false);
            source.Play();
            break;

        case LoginEventInfo.LoginEventState.LOGOUT:
            InitialPanelState();
            source.Stop();
            break;

        case LoginEventInfo.LoginEventState.REGISTRATION_SUCCESSFUL:
            startMenu.SetActive(false);
            break;

        case LoginEventInfo.LoginEventState.BACK_TO_MENU:
            source.Stop();
            InitialPanelState();
            break;
        }
    }