public void UpdateStatus() { Json.AccountStatus data = JsonConvert.DeserializeObject <Json.AccountStatus>(webClient.DownloadString(Constants.URL + Constants.AccountStatus)); Level = data.Level; Gold = data.Gold; Steps = data.Stepsleft; Exp = data.Exp; ExpRequired = data.Max_exp; Hp = data.Current_hp; MaxHp = data.Max_hp; Energy = data.Energy; MaxEnergy = data.Max_energy; }
public Player(string email, string password) { webClient = new CFWebClient(); // Get CSRF token string csrfToken = Regex.Match(webClient.DownloadString(Constants.URL + Constants.LoginPage), Constants.Regex.CsrfToken).Groups[1].Value; // Set CSRF token as header (Laravel stuff?) webClient.Headers["X-CSRF-TOKEN"] = csrfToken; // Perform login NameValueCollection parameters = new NameValueCollection { { "_token", csrfToken }, { "email", email }, { "password", password }, { "remember", "on" } }; string responsebody = Encoding.UTF8.GetString(webClient.UploadValues(Constants.URL + Constants.LoginPage, "POST", parameters)); // Check if login is successful if (responsebody.Contains("Start Your Travels")) { Json.AccountStatus accountStatus = JsonConvert.DeserializeObject <Json.AccountStatus>(webClient.DownloadString(Constants.URL + Constants.AccountStatus)); Username = accountStatus.Username; Level = accountStatus.Level; Gold = accountStatus.Gold; Steps = accountStatus.Stepsleft; Exp = accountStatus.Exp; ExpRequired = accountStatus.Max_exp; Hp = accountStatus.Current_hp; MaxHp = accountStatus.Max_hp; Energy = accountStatus.Energy; MaxEnergy = accountStatus.Max_energy; } else { throw new InvalidOperationException("Wrong email or password."); } }