using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
public class ServerConnection
{
public static string BaseAPI = "http://192.168.0.22:3434";
[System.Serializable]
public class PlayerInfo
{
public string username;
public int gold;
public PlayerInfo(string user, int g)
{
username = user;
gold = g;
}
}
[System.Serializable]
public class PlayerList
{
public PlayerInfo[] players;
}
[System.Serializable]
public class RegisterPlayerInfo
{
public string username;
public string password;
public RegisterPlayerInfo(string u, string p)
{
username = u;
password = p;
}
}
[System.Serializable]
public class UpdatePlayerInfo
{
public int id;
public int gold;
public UpdatePlayerInfo(int i, int g)
{
id = i;
gold = g;
}
}
public IEnumerator GetPlayersRequest(string url)
{
UnityWebRequest webRequest = UnityWebRequest.Get(url);
yield return webRequest.SendWebRequest();
if (webRequest.result == UnityWebRequest.Result.ConnectionError)
{
Debug.Log("Request Error!!");
}
else
{
Debug.Log(webRequest.downloadHandler.text);
}
Debug.Log(webRequest.downloadHandler.text);
PlayerList playerList = JsonUtility.FromJson<PlayerList>(webRequest.downloadHandler.text);
foreach (PlayerInfo player in playerList.players)
{
Debug.Log(player.username);
Debug.Log(player.gold);
}
}
public IEnumerator PostRequest(string url, string jsondata, System.Action<string> behaviour)
{
UnityWebRequest webRequest = new UnityWebRequest(url, "POST");
byte[] jsonConverted = new System.Text.UTF8Encoding().GetBytes(jsondata);
webRequest.uploadHandler = new UploadHandlerRaw(jsonConverted);
webRequest.downloadHandler = new DownloadHandlerBuffer();
webRequest.SetRequestHeader("Content-Type", "application/json");
yield return webRequest.SendWebRequest();
if (webRequest.result == UnityWebRequest.Result.ConnectionError)
{
Debug.Log("Request Error!!");
}
behaviour.Invoke(webRequest.downloadHandler.text);
}
// Start is called before the first frame update
}