using UnityEngine; using BestHTTP; using System; using Newtonsoft.Json; public class NetworkManager : SingletonMonoBehaviour { [SerializeField] private string baseUrl; /// /// µ¥ÀÌÅ͸¦ ¼Û¼ö½ÅÇØ¾ßÇÒ ¶§ »ç¿ëÇÕ´Ï´Ù. send()´Â »ý¼ºÀ» ¸¶Ä¡°í ÀÚµ¿À¸·Î º¸³À´Ï´Ù. /// /// ¿ªÁ÷·ÄÈ­ÇÒ Å¸ÀÔ /// api ÁÖ¼Ò /// µ¥ÀÌÅÍ ¹ÞÀº ÈÄ Ã³¸®ÇÒ ÀýÂ÷ /// Àü¼ÛÇÒ µ¥ÀÌÅÍ, null·Î ³ÖÀ¸¸é ¾Èº¸³À´Ï´Ù. /// µ¿ÀÛ¹æ½Ä /// ¾Ïº¹È£È­ ÇÒ °ÍÀÎÁö /// ¿ªÁ÷·ÄÈ­µÈ µ¥ÀÌÅÍ or ±âº»°ª(¹Ýȯ ¹ÞÁö ¸øÇÔ) public HTTPRequest CreateRequest(string api, object serializeData, Action onSuccess, ActiononFail = null, HTTPMethods methods = HTTPMethods.Post) { string url = $"{baseUrl}{api}".Replace("\\p{Z}", String.Empty); var httpRquest = new HTTPRequest(new Uri(url) //url ³Ö±â , methods //µ¿ÀÛ ¹æ½Ä ³Ö±â , (request, response) => { if (response == null || (response.StatusCode != 200)) { onFail?.Invoke(default(T)); } else { T deSerialized = JsonConvert.DeserializeObject(response.DataAsText); onSuccess?.Invoke(deSerialized); } }); if (serializeData != null) { httpRquest.SetHeader("Content-Type", "application/json; charset=UTF-8"); string json = JsonConvert.SerializeObject(serializeData); httpRquest.RawData = System.Text.Encoding.UTF8.GetBytes(json); } httpRquest.Send(); return httpRquest; } }