diff options
| author | Michael <[email protected]> | 2017-05-19 08:52:21 -0400 |
|---|---|---|
| committer | Michael <[email protected]> | 2017-05-19 08:52:21 -0400 |
| commit | c0015d369da4ab0b8e2303b74d9843883fd88828 (patch) | |
| tree | 7ffd6f07d1a36b796046e3cd1bf413cd271d6af7 | |
| parent | 41992360f1a07c7ff2a4627168ca7b2156b31dbc (diff) | |
| download | shiftos_thereturn-c0015d369da4ab0b8e2303b74d9843883fd88828.tar.gz shiftos_thereturn-c0015d369da4ab0b8e2303b74d9843883fd88828.tar.bz2 shiftos_thereturn-c0015d369da4ab0b8e2303b74d9843883fd88828.zip | |
document unite API wrapper
| -rw-r--r-- | ShiftOS_TheReturn/UniteClient.cs | 103 |
1 files changed, 102 insertions, 1 deletions
diff --git a/ShiftOS_TheReturn/UniteClient.cs b/ShiftOS_TheReturn/UniteClient.cs index 8d6a58d..d8e34b7 100644 --- a/ShiftOS_TheReturn/UniteClient.cs +++ b/ShiftOS_TheReturn/UniteClient.cs @@ -11,7 +11,14 @@ namespace ShiftOS.Unite { public class UniteClient { + /// <summary> + /// Gets a string represents the user token for this Unite Client. + /// </summary> public string Token { get; private set; } + + /// <summary> + /// Gets the base URL used in all API calls. Retrieved from the user's servers.json file. + /// </summary> public string BaseURL { get @@ -20,16 +27,30 @@ namespace ShiftOS.Unite } } + /// <summary> + /// Get the display name of a user. + /// </summary> + /// <param name="id">The user ID to look at.</param> + /// <returns></returns> public string GetDisplayNameId(string id) { return MakeCall("/API/GetDisplayName/" + id); } + /// <summary> + /// Get the Pong highscore stats for all users. + /// </summary> + /// <returns></returns> public PongHighscoreModel GetPongHighscores() { return JsonConvert.DeserializeObject<PongHighscoreModel>(MakeCall("/API/GetPongHighscores")); } + /// <summary> + /// Create a new instance of the <see cref="UniteClient"/> object. + /// </summary> + /// <param name="baseurl">Unused.</param> + /// <param name="usertoken">The user API token to use for this client (see http://getshiftos.ml/Manage and click "API" to see your tokens)</param> public UniteClient(string baseurl, string usertoken) { //Handled by the servers.json file @@ -37,6 +58,11 @@ namespace ShiftOS.Unite Token = usertoken; } + /// <summary> + /// Make a call to the Unite API using the current user token and base URL. + /// </summary> + /// <param name="url">The path, relative to the base URL, to call.</param> + /// <returns>The server's response.</returns> internal string MakeCall(string url) { var webrequest = WebRequest.Create(BaseURL + url); @@ -53,83 +79,158 @@ namespace ShiftOS.Unite } } + /// <summary> + /// Get the Pong codepoint highscore for the current user. + /// </summary> + /// <returns>The amount of Codepoints returned by the server</returns> public int GetPongCP() { return Convert.ToInt32(MakeCall("/API/GetPongCP")); } + /// <summary> + /// Get the pong highest level score for this user + /// </summary> + /// <returns>The highest level the user has reached.</returns> public int GetPongLevel() { return Convert.ToInt32(MakeCall("/API/GetPongLevel")); } + /// <summary> + /// Set the user's highest level record for Pong. + /// </summary> + /// <param name="value">The level to set the record to.</param> public void SetPongLevel(int value) { MakeCall("/API/SetPongLevel/" + value.ToString()); } + /// <summary> + /// Set the pong Codepoints record for the user + /// </summary> + /// <param name="value">The amount of Codepoints to set the record to</param> public void SetPongCP(int value) { MakeCall("/API/SetPongCP/" + value.ToString()); } + /// <summary> + /// Get the user's email address. + /// </summary> + /// <returns>The user's email address.</returns> public string GetEmail() { return MakeCall("/API/GetEmail"); } + /// <summary> + /// Get the user's system name. + /// </summary> + /// <returns>The user's system name.</returns> public string GetSysName() { return MakeCall("/API/GetSysName"); } + /// <summary> + /// Set the user's system name. + /// </summary> + /// <param name="value">The system name to set the record to.</param> public void SetSysName(string value) { MakeCall("/API/SetSysName/" + value); } + /// <summary> + /// Get the user's display name. + /// </summary> + /// <returns>The user's display name.</returns> public string GetDisplayName() { return MakeCall("/API/GetDisplayName"); } + /// <summary> + /// Set the user's display name. + /// </summary> + /// <param name="value">The display name to set the user's account to.</param> public void SetDisplayName(string value) { MakeCall("/API/SetDisplayName/" + value.ToString()); } + /// <summary> + /// Get the user's full name if they have set it in their profile. + /// </summary> + /// <returns>Empty string if the user hasn't set their fullname, else, a string representing their fullname.</returns> public string GetFullName() { return MakeCall("/API/GetFullName"); } + /// <summary> + /// Set the user's fullname. + /// </summary> + /// <param name="value">The new fullname.</param> public void SetFullName(string value) { MakeCall("/API/SetFullName/" + value.ToString()); } - + /// <summary> + /// Get the user's codepoints. + /// </summary> + /// <returns>The amount of codepoints stored on the server for this user.</returns> public long GetCodepoints() { return Convert.ToInt64(MakeCall("/API/GetCodepoints")); } + /// <summary> + /// Set the user's codepoints. + /// </summary> + /// <param name="value">The amount of codepoints to set the user's codepoints value to.</param> public void SetCodepoints(long value) { MakeCall("/API/SetCodepoints/" + value.ToString()); } } + /// <summary> + /// API data model for Unite pong highscores. + /// </summary> public class PongHighscoreModel { + /// <summary> + /// Amount of pages in this list. + /// </summary> public int Pages { get; set; } + + /// <summary> + /// An array representing the highscores found on the server. + /// </summary> public PongHighscore[] Highscores { get; set; } } + /// <summary> + /// API data model for a single Pong highscore. + /// </summary> public class PongHighscore { + /// <summary> + /// The user ID linked to this highscore. + /// </summary> public string UserId { get; set; } + + /// <summary> + /// The highscore's level record. + /// </summary> public int Level { get; set; } + + /// <summary> + /// The highscore's codepoint cashout record. + /// </summary> public long CodepointsCashout { get; set; } } } |
