Ejemplo n.º 1
0
 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);

        }