public static void Count(string collection, string query, Action <bool, int> callback = null) { query = Uri.EscapeDataString(query); string url = "/data/" + collection + "/count?query=" + query; Gamedonia.RunCoroutine( GamedoniaRequest.get(url, GamedoniaUsers.GetSessionToken(), delegate(bool success, object data) { if (callback != null) { if (success) { IDictionary response = Json.Deserialize((string)data) as IDictionary; int count = int.Parse(response["count"].ToString()); callback(success, count); } else { callback(success, -1); } } } ) ); }
public static void Run(string script, Dictionary <string, object> parameters, Action <bool, object> callback = null) { string json = "{}"; if (parameters != null) { json = JsonMapper.ToJson(parameters); } Gamedonia.RunCoroutine( GamedoniaRequest.post("/run/" + script, json, null, GamedoniaUsers.GetSessionToken(), null, delegate(bool success, object data) { if (callback != null) { if (success) { string strData = data as String; if (strData.Length > 0) { callback(success, Json.Deserialize(strData)); } else { callback(success, null); } } else { callback(success, null); } } } ) ); }
public static void Delete(string collection, string entityId, Action <bool> callback = null) { Gamedonia.RunCoroutine( GamedoniaRequest.delete("/data/" + collection + "/delete/" + entityId, GamedoniaUsers.GetSessionToken(), delegate(bool success, object data) { callback(success); } ) ); }
public static void VerifyPurchase(Dictionary <string, object> parameters, Action <bool> callback = null) { string json = JsonMapper.ToJson(parameters); Gamedonia.RunCoroutine( GamedoniaRequest.post("/purchase/verify", json, null, GamedoniaUsers.GetSessionToken(), null, delegate(bool success, object data) { if (callback != null) { callback(success); } } ) ); }
public static void Update(string collection, Dictionary <string, object> entity, Action <bool, IDictionary> callback = null, bool overwrite = false) { string json = JsonMapper.ToJson(entity); if (!overwrite) { Gamedonia.RunCoroutine( GamedoniaRequest.post("/data/" + collection + "/update", json, null, GamedoniaUsers.GetSessionToken(), null, delegate(bool success, object data) { if (callback != null) { if (success) { callback(success, Json.Deserialize((string)data) as IDictionary); } else { callback(success, null); } } } ) ); } else { Gamedonia.RunCoroutine( GamedoniaRequest.put("/data/" + collection + "/update", json, null, GamedoniaUsers.GetSessionToken(), null, delegate(bool success, object data) { if (callback != null) { if (success) { callback(success, Json.Deserialize((string)data) as IDictionary); } else { callback(success, null); } } } ) ); } }
public static void Search(string collection, string query, int limit = 0, string sort = null, int skip = 0, Action <bool, IList> callback = null) { query = Uri.EscapeDataString(query); string url = "/data/" + collection + "/search?query=" + query; if (limit > 0) { url += "&limit=" + limit; } if (sort != null) { url += "&sort=" + sort; } if (skip > 0) { url += "&skip=" + skip; } Gamedonia.RunCoroutine( GamedoniaRequest.get(url, GamedoniaUsers.GetSessionToken(), delegate(bool success, object data) { if (callback != null) { if (success) { if ((data == null) || (data.Equals("[]"))) { callback(success, null); } else { callback(success, Json.Deserialize((string)data) as IList); } } else { callback(success, null); } } } ) ); }
public static void Get(string collection, string entityId, Action <bool, IDictionary> callback = null) { Gamedonia.RunCoroutine( GamedoniaRequest.get("/data/" + collection + "/get/" + entityId, GamedoniaUsers.GetSessionToken(), delegate(bool success, object data) { if (callback != null) { if (success) { callback(success, Json.Deserialize((string)data) as IDictionary); } else { callback(success, null); } } } ) ); }
private void RequestAndAddDownload(string fileId) { string url = "/file/get/url/" + fileId; Gamedonia.RunCoroutine( GamedoniaRequest.get(url, GamedoniaUsers.GetSessionToken(), delegate(bool success, object data) { if (success) { //Debug.Log("Before Internal Download URL"); IDictionary dataDownload = Json.Deserialize((string)data) as IDictionary; InternalAddDownloadURL(dataDownload["downloadUrl"] as string, fileId); } else { InternalAddDownloadURL(fileId, fileId); } } ) ); }
public static void Delete(string collection, List <string> entities, bool all, Action <bool, int> callback = null) { if (all) { Gamedonia.RunCoroutine( GamedoniaRequest.delete("/data/" + collection + "/delete?all=true", GamedoniaUsers.GetSessionToken(), delegate(bool success, object data) { IDictionary response = Json.Deserialize((string)data) as IDictionary; if (success) { callback(success, int.Parse(response["deleted"].ToString())); } else { callback(success, 0); } } ) ); } else { Gamedonia.RunCoroutine( GamedoniaRequest.delete("/data/" + collection + "/delete?keys=" + String.Join(",", entities.ToArray()), GamedoniaUsers.GetSessionToken(), delegate(bool success, object data) { IDictionary response = Json.Deserialize((string)data) as IDictionary; if (success) { callback(success, int.Parse(response["deleted"].ToString())); } else { callback(success, 0); } } ) ); } }