// Public Methods public string getProf(string build, GW2APIController apiController) { if (is_elite == 0xFFFFFFFF) { if ((prof & 0xffff0000) == 0xffff0000) { return("GDG"); } else { return("NPC"); } } else if (is_elite == 0) { switch (prof) { case 1: return("Guardian"); case 2: return("Warrior"); case 3: return("Engineer"); case 4: return("Ranger"); case 5: return("Thief"); case 6: return("Elementalist"); case 7: return("Mesmer"); case 8: return("Necromancer"); case 9: return("Revenant"); } } else if (Convert.ToInt32(build.Substring(4, 8)) < 20170914) { if (is_elite == 1) { switch (prof + 9) { case 10: return("Dragonhunter"); case 11: return("Berserker"); case 12: return("Scrapper"); case 13: return("Druid"); case 14: return("Daredevil"); case 15: return("Tempest"); case 16: return("Chronomancer"); case 17: return("Reaper"); case 18: return("Herald"); } } } else if (Convert.ToInt32(build.Substring(4, 8)) >= 20170914) { if (is_elite == 1) { switch (prof + 9) { case 10: return("Dragonhunter"); case 11: return("Berserker"); case 12: return("Scrapper"); case 13: return("Druid"); case 14: return("Daredevil"); case 15: return("Tempest"); case 16: return("Chronomancer"); case 17: return("Reaper"); case 18: return("Herald"); } } else if (is_elite > 1) { switch (is_elite) { case 55: return("Soulbeast"); case 56: return("Weaver"); case 57: return("Holosmith"); case 58: return("Deadeye"); case 59: return("Mirage"); case 60: return("Scourge"); case 61: return("Spellbreaker"); case 62: return("Firebrand"); case 63: return("Renegade"); } GW2APISpec spec = apiController.GetSpec((int)is_elite); if (spec.elite) { return(spec.name); } else { return(spec.profession); } } } return(null); }
// Public Methods public string getProf(string build) { if (is_elite == -1) { if ((ID & 0xffff0000) == 0xffff0000) { return("GDG"); } else { return("NPC"); } } else if (is_elite == 0) { switch (prof) { case 1: return("Guardian"); case 2: return("Warrior"); case 3: return("Engineer"); case 4: return("Ranger"); case 5: return("Thief"); case 6: return("Elementalist"); case 7: return("Mesmer"); case 8: return("Necromancer"); case 9: return("Revenant"); } } else if (Convert.ToInt32(build.Substring(4, 8)) < 20170914) { if (is_elite == 1) { switch (prof + 9) { case 10: return("Dragonhunter"); case 11: return("Berserker"); case 12: return("Scrapper"); case 13: return("Druid"); case 14: return("Daredevil"); case 15: return("Tempest"); case 16: return("Chronomancer"); case 17: return("Reaper"); case 18: return("Herald"); } } } else if (Convert.ToInt32(build.Substring(4, 8)) >= 20170914) { if (is_elite == 1) { switch (prof + 9) { case 10: return("Dragonhunter"); case 11: return("Berserker"); case 12: return("Scrapper"); case 13: return("Druid"); case 14: return("Daredevil"); case 15: return("Tempest"); case 16: return("Chronomancer"); case 17: return("Reaper"); case 18: return("Herald"); } } else if (is_elite > 1) { switch (is_elite) { case 55: return("Soulbeast"); case 56: return("Weaver"); case 57: return("Holosmith"); case 58: return("Deadeye"); case 59: return("Mirage"); case 60: return("Scourge"); case 61: return("Spellbreaker"); case 62: return("Firebrand"); case 63: return("Renegade"); } //Connecting to API everytime would be bad so HttpClient APIClient = null; if (APIClient == null) { APIClient = new HttpClient(); APIClient.BaseAddress = new Uri("https://api.guildwars2.com"); APIClient.DefaultRequestHeaders.Accept.Clear(); APIClient.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); } //System.Threading.Thread.Sleep(100); GW2APISpec spec = null; HttpResponseMessage response = APIClient.GetAsync("/v2/specializations/" + is_elite).Result; if (response.IsSuccessStatusCode) { spec = response.Content.ReadAsAsync <GW2APISpec>().Result; if (spec.elite) { return(spec.name); } else { return(spec.profession); } } } } return(null); }