Exemple #1
0
 public void SendNews(string topic, string message, string updateId, NewsSentCallback success, NoConnectionCallback noconnection)
 {
     if (updateId == null)
     {
         StartCoroutine(SendNewsCoroutine(topic, message, success, noconnection));
     }
     else
     {
         StartCoroutine(EditNewsCoroutine(topic, message, updateId, success, noconnection));
     }
 }
Exemple #2
0
    public IEnumerator SendNewsCoroutine(string topic, string message, NewsSentCallback success, NoConnectionCallback noconnection)
    {
        WWWForm form = new WWWForm();

        form.AddField("title", topic);
        form.AddField("newsBody", message);

        UnityWebRequest request = UnityWebRequest.Post(Constants.serverAddress + "api/news", form);

        m_UserManager.SetCurrentUserAuthorization(request);

        yield return(request.SendWebRequest());

        while (!request.isDone)
        {
            yield return(new WaitForEndOfFrame());
        }

        if (request.isNetworkError)
        {
            Debug.Log("Network error: Cannot send news: " + request.error + ", Code = " + request.responseCode);
            if (noconnection != null)
            {
                noconnection();
            }
        }
        else if (request.isHttpError)
        {
            if (request.responseCode == 400)
            {
                Debug.Log("Http error: News data missing: " + request.error + ", Code = " + request.responseCode + " " + request.downloadHandler.text);
            }
            else if (request.responseCode == 500)
            {
                Debug.Log("Http error: Database search failed: " + request.error + ", Code = " + request.responseCode);
            }
        }
        else if (request.responseCode == 200)
        {
            if (success != null)
            {
                success();
            }
        }
    }
Exemple #3
0
    public IEnumerator EditNewsCoroutine(string topic, string message, string editId, NewsSentCallback success, NoConnectionCallback noconnection)
    {
        UpdatedNews un = new UpdatedNews
        {
            title    = topic,
            newsBody = message
        };
        string          json    = JsonConvert.SerializeObject(un);
        UnityWebRequest request = UnityWebRequest.Put(Constants.serverAddress + "api/news/" + editId, Encoding.UTF8.GetBytes(json));

        request.SetRequestHeader("Content-Type", "application/json");
        m_UserManager.SetCurrentUserAuthorization(request);

        yield return(request.SendWebRequest());

        while (!request.isDone)
        {
            yield return(new WaitForEndOfFrame());
        }

        if (request.isNetworkError)
        {
            Debug.Log("Network error: Cannot edit news: " + request.error + ", Code = " + request.responseCode);
            if (noconnection != null)
            {
                noconnection();
            }
        }
        else if (request.isHttpError)
        {
            if (request.responseCode == 400)
            {
                Debug.Log("Http error: News data missing: " + request.error + ", Code = " + request.responseCode + " " + request.downloadHandler.text);
            }
            else if (request.responseCode == 500)
            {
                Debug.Log("Http error: Database search failed: " + request.error + ", Code = " + request.responseCode);
            }
        }
        else if (request.responseCode == 200)
        {
            if (success != null)
            {
                success();
            }
        }
    }