API: Basic draft of Scores API Usage

parent f8d24a59
fileFormatVersion: 2
guid: 33abefc05c7dc4118a7be63901f0c124
folderAsset: yes
timeCreated: 1477229352
licenseType: Free
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
using System;
namespace Assets.Scripts.API
{
[Serializable]
public class Score
{
public string playerName;
public string team;
public int score;
public DateTime date;
}
}
fileFormatVersion: 2
guid: f7e4da0739d3143038cfaf75111723aa
timeCreated: 1477229352
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System;
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEngine.Networking;
namespace Assets.Scripts.API
{
public class Server
{
public static string HOST = "http://localhost:8990";
public Server ()
{
}
public static List<Score> GetScores ()
{
UnityWebRequest www = UnityWebRequest.Get(HOST + "/scores/");
www.Send();
if (www.isError) {
Debug.LogError("Error:" + www.error);
return null;
}
else {
Debug.Log("Got response: " + www.downloadHandler.text);
ScoresRes res = JsonUtility.FromJson<ScoresRes>(www.downloadHandler.text);
Debug.Log("Got scores: " + res.scores);
string mockText = "{\"status\":\"ok\",\"scores\":[" +
"{\"playerName\":\"John Smith\",\"team\":null,\"score\":10,\"date\":\"2016-10-23T12:42:54.810Z\",\"_id\":\"d21b623e9b394993be3224de89099194\"}," +
"{\"playerName\":\"Randy\",\"team\":\"iGEM Headquarters\",\"score\":42,\"date\":\"2016-10-23T12:45:45.774Z\",\"_id\":\"a3a66de22b30450492f8f6b1bf178123\"}" +
"]}";
ScoresRes mock = JsonUtility.FromJson<ScoresRes>(mockText); //TODO: Why does JsonUtility fail to deserialize? /o\
Debug.Log("Mock scores: " + mock);
return res.scores;
}
}
[Serializable]
private class ScoresRes {
public string status { get; set;}
public List<Score> scores { get; set;}
public ScoresRes() {}
public ScoresRes(string status, List<Score> scores) {
this.scores = scores;
this.status = status;
}
}
}
}
fileFormatVersion: 2
guid: 647b863cee6104673a1238de59f93bcc
timeCreated: 1477229352
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: c56230d4575634b8896a178b68e9a055
folderAsset: yes
timeCreated: 1477229352
licenseType: Free
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:
using UnityEngine;
using System.Collections;
using Assets.Scripts.API;
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class SimpleEnnemy : MonoBehaviour
{
......@@ -27,5 +28,12 @@ public class SimpleEnnemy : MonoBehaviour
{
Debug.Log("Entered");
gameObject.SetActive(false);
//GetScores(); TODO: Successfully get scores from API
}
void GetScores() {
Debug.Log("Getting scores...");
Server.GetScores();
Debug.Log("Got scores.");
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment