public void GetCurrentPlayer(Action<CurrentPlayer> callback) { jQuery.Post( "/api/", new { action = "get_current_user", token = token }, (data, textStatus, request) => { var jdata = JSON.Parse((string)data); CurrentPlayer currentPlayer = new CurrentPlayer((string)jdata["data"]["name"]); currentPlayer.Badges = ((string[])jdata["data"]["badges"]).Where((b) => b != "").Select((b) => (BadgeName)int.Parse(b)).ToList(); getCategories((categories) => { foreach (LevelCategory category in categories) { currentPlayer.AddCategory(category); } callback(currentPlayer); }); } ); }
public void GetCurrentPlayer(Action<CurrentPlayer> callback) { JObject response = MakeRequest ("http://webmat.cs.aau.dk/api/?action=get_current_user", true); JToken data = response.SelectToken ("data"); CurrentPlayer currentPlayer = new CurrentPlayer(data.Value<string>("name")); JArray badges = data.SelectToken ("badges") as JArray; for (int j = 0; j < badges.Count; j++) { if (badges[j].Value<string>() != "") currentPlayer.Badges.Add ((BadgeName)int.Parse (badges[j].Value<string>())); } GetCategories((categories) => { foreach (LevelCategory category in categories) { currentPlayer.AddCategory(category); } callback(currentPlayer); }); callback(currentPlayer); }
public void GetCurrentPlayer(Action<CurrentPlayer> callback) { var client = new RestClient("http://webmat.cs.aau.dk/api/"); var request = new RestRequest(Method.POST); request.AddParameter("action", "get_current_user"); request.AddParameter("token", token); string data; try { data = client.Execute(request).Content; } catch (TimeoutException) { GetCurrentPlayer(callback); return; } JSONObject json = new JSONObject(data); JSONObject jsonData = json.GetJSONObject("data"); CurrentPlayer currentPlayer = new CurrentPlayer(jsonData.GetString("name")); var badges = jsonData.GetJSONArray("badges"); for (int index = 0; index < badges.Length(); index++) { string badgeString = badges.GetString(index); if (badgeString != "") { currentPlayer.Badges.Add((BadgeName)int.Parse(badgeString)); } } getCategories((categories) => { foreach (LevelCategory category in categories) { currentPlayer.AddCategory(category); } callback(currentPlayer); }); callback(currentPlayer); }