示例#1
0
        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;
        }
示例#2
0
        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.");
            }
        }