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); } }
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); }
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(); } }