private IEnumerator WaitForRequest(GhopperCmsResponse cmsResponse, GhopperCmsResponseDelegate responseHandler) { WWW www = cmsResponse.www; Dictionary<string,object> jsonDict = null; yield return www; if ( detailedDebug ) DebugExtras.Log("www call finished."); if (www.text.Length > 0) { jsonDict = (Json.Deserialize(www.text) as Dictionary<string,object>); } cmsResponse.data = jsonDict; if ( detailedDebug ) { DebugExtras.Log(cmsResponse.www.url); DebugExtras.Log(cmsResponse.www.text); } // check for errors if (www.error == null) { // set flag? } else { // error handling? } cmsResponse.isFinished = true; if (responseHandler != null) { responseHandler(cmsResponse); } }
public GhopperCmsResponse GetPlayerData(int playerId, GhopperCmsResponseDelegate responseHandler) { return Get(PLAYER_API_ROOT+playerId.ToString()+"/", responseHandler); }
// note: might want to switch to Dictionary<string,object> for consistency? (and to save the trouble of stringifying outside?) public GhopperCmsResponse Post(string url, Dictionary<string,object> post, GhopperCmsResponseDelegate responseHandler) { WWWForm form = new WWWForm(); foreach(KeyValuePair<string,object> arg in post) { form.AddField(arg.Key, arg.Value.ToString()); } WWW www = new WWW(url, form); GhopperCmsResponse cmsResponse = new GhopperCmsResponse(www, null); StartCoroutine(WaitForRequest(cmsResponse, responseHandler)); return cmsResponse; }
public GhopperCmsResponse Get(string url, GhopperCmsResponseDelegate responseHandler) { if ( detailedDebug ) DebugExtras.Log(url); WWW www = new WWW (url); GhopperCmsResponse cmsResponse = new GhopperCmsResponse(www, null); StartCoroutine (WaitForRequest (cmsResponse, responseHandler)); return cmsResponse; }