Example #1
0
        public async Task <bool> GetGameData()
        {
            var request = new ExecuteCloudScriptRequest()
            {
                RevisionSelection = CloudScriptRevisionOption.Live,
                FunctionName      = "status",
                FunctionParameter = new { token = token, kid = kongID }
            };
            var statusTask = await PlayFabClientAPI.ExecuteCloudScriptAsync(request);

            if (statusTask.Error != null)
            {
                logError(statusTask.Error.Error.ToString(), statusTask.Error.ErrorMessage);
                return(false);
            }
            if (statusTask.Result == null || statusTask.Result.FunctionResult == null || !statusTask.Result.FunctionResult.ToString().Contains("true"))
            {
                logError("Cloud Script Error: status", statusTask);
                return(false);
            }
            else
            {
                JObject json    = JObject.Parse(statusTask.Result.FunctionResult.ToString());
                string  hLevels = json["data"]["city"]["hero"].ToString();
                heroLevels         = getArray(hLevels);
                miracleTimes       = json["data"]["miracles"].ToString();
                followers          = json["data"]["followers"].ToString();
                DQTime             = json["data"]["city"]["daily"]["timer2"].ToString();
                DQLevel            = json["data"]["city"]["daily"]["lvl"].ToString();
                PVPTime            = json["data"]["city"]["nextfight"].ToString();
                wbAttacksAvailable = int.Parse(json["data"]["city"]["WB"]["atks"].ToString());
                wbAttackNext       = Form1.getTime(json["data"]["city"]["WB"]["next"].ToString());
                return(true);
            }
        }
Example #2
0
        internal async Task <bool> sendFight(int index)
        {
            bool b = await main.pf.sendPVPFight(index);

            nextPVP           = Form1.getTime(PFStuff.PVPTime);
            PVPTimer.Interval = Math.Max(5000, (nextPVP - DateTime.Now).TotalMilliseconds);
            main.PvPLog.SynchronizedInvoke(() => main.PvPLog.AppendText(PFStuff.battleResult));
            main.PvPTimeLabel.setText(nextPVP.ToString());
            PVPTimer.Start();
            return(b);
        }
Example #3
0
        async void proc_Exited(object sender, EventArgs e)
        {
            await main.getData();

            await PFStuff.getWBData(main.KongregateId);

            main.calcStatus.SynchronizedInvoke(() => main.calcStatus.Text = "Calc finished");
            nextDQTime       = Form1.getTime(PFStuff.DQTime);
            DQTimer.Interval = (nextDQTime < DateTime.Now && main.DQCalcBox.Checked) ? 4000 : Math.Max(4000, (nextDQTime - DateTime.Now).TotalMilliseconds);
            main.DQLevelLabel.SynchronizedInvoke(() => main.DQLevelLabel.Text = PFStuff.DQLevel);
            main.DQTimeLabel.SynchronizedInvoke(() => main.DQTimeLabel.Text   = nextDQTime.ToString());

            main.currentDungLevelLabel.setText(PFStuff.DungLevel);
            main.autoLevel.levelTimer.Interval = 1.5 * 60 * 1000;
            DQTimer.Start();
            if (!string.IsNullOrEmpty(calcErrorOut))
            {
                using (StreamWriter sw = new StreamWriter("CQMCErrors.txt"))
                {
                    sw.WriteLine(DateTime.Now);
                    sw.WriteLine(calcErrorOut);
                }
            }
            List <string> DQl = new List <string>();
            string        s   = "";

            for (int i = 0; i < main.WBlineups[2].Count; i++)
            {
                main.WBlineups[2][i].SynchronizedInvoke(() => s = main.WBlineups[2][i].Text);
                DQl.Add(s);
            }

            if (DQl.All(x => x == "") && calcOut != "")
            {
                JObject       solution = JObject.Parse(calcOut);
                var           mon      = solution["validSolution"]["solution"]["monsters"];
                List <string> DQLineup = new List <string>();

                for (int i = 0; i < mon.Count(); i++)
                {
                    DQLineup.Add(Constants.names[int.Parse(mon[i]["id"].ToString()) + Constants.heroesInGame]);
                    main.WBlineups[2][5 - i].SynchronizedInvoke(() => main.WBlineups[2][5 - i].Text = Constants.names[int.Parse(mon[i]["id"].ToString()) + Constants.heroesInGame]);
                }
                main.appSettings = AppSettings.loadSettings();
                main.appSettings.defaultDQLineup = DQLineup;
                main.appSettings.saveSettings();
            }
        }