private void button1_Click(object sender, EventArgs e) { // 解析攻击目标的坐标 if (this.txtX.Text == "" && this.txtY.Text == "" && this.textCoord.Text == "") { return; } else if (this.txtX.Text != "" || this.txtY.Text != "") { // 单目标情况 int x = 0, y = 0; Int32.TryParse(this.txtX.Text, out x); Int32.TryParse(this.txtY.Text, out y); var aTargets = new TPoint(x, y); iTargets.Add(aTargets); } else { // 多目标情况,格式:"xxx|yyy,xxx|yyy" if (!this.textCoord.Text.Contains(",")) { return; } string[] multipletargets = this.textCoord.Text.Split(','); for (int i = 0; i < multipletargets.Length; i++) { if (!multipletargets[i].Contains("|")) { continue; } string[] id = multipletargets[i].Split('|'); int x1 = 0, y1 = 0; Int32.TryParse(id[0], out x1); Int32.TryParse(id[1], out y1); TPoint tid = new TPoint(x1, y1); if (!tid.IsEmpty) { iTargets.Add(tid); } } } // 检查部队设置的数量是否超过现有的数量 for (int i = 0; i < 11; i++) { int totalattack = Convert.ToInt32(this.numericUpDown1.Value) * iTargets.Count; int[] totalraidtroops = new int[11]; int totaltroops = 0; int[] raidtroops = new int[11]; for (int j = 0; j < 5; j++) { int wv = Convert.ToInt32(Waves[j].Value); raidtroops[i] = Convert.ToInt32(Nums[j, i].Value); totaltroops = totaltroops + (raidtroops[i] * wv); } totalraidtroops[i] = totaltroops; if (totalraidtroops[i] * totalattack > Troops[i]) { var Nt = MessageBox.Show("No Enough Troop"); return; } } for (int j = 0; j < 5; j++) { int wv = Convert.ToInt32(Waves[j].Value); int[] raidtroops = new int[11]; int totaltroops = 0; for (int i = 0; i < 11; i++) { raidtroops[i] = Convert.ToInt32(Nums[j, i].Value); totaltroops = totaltroops + raidtroops[i]; } if (wv != 0 && totaltroops != 0) { TTInfo mTargets = new TTInfo { Troops = raidtroops }; nWaves.Add(wv); nTargets.Add(mTargets); } } if (nWaves.Count == 0 || nTargets.Count == 0 || iTargets.Count == 0) { if (!this.checkBox2.Checked) { return; } } Return = new AttackQueue { Raidtype = this.checkBox2.Checked ? 1 : this.comboBox3.SelectedIndex + 2, Targets = iTargets, wTroops = nTargets, wWaves = nWaves, VillageID = VillageID, kata = this.comboBox1.SelectedIndex, kata2 = this.comboBox2.SelectedIndex, Settlers = this.checkBox2.Checked, MinimumInterval = minimumInterval, NextExec = actionAt, }; }
private void StatusUI(WorkStatus status) { Status = status; try { Invoke(new Action(() => { LBStatus.Text = status.ToString(); switch (status) { case WorkStatus.准备就绪: BackColor = ColorTranslator.FromHtml("#6a9c78"); LBStatus.BackColor = ColorTranslator.FromHtml("#446e5c"); LBProjectName.BackColor = ColorTranslator.FromHtml("#7dc383"); BTStartOrStop.Text = "启动"; UIEnable(BTStartOrStop); //允许启动/关闭 UIEnable(BTAddNew); //允许装载新版本 //UIEnable(BTConfig);//允许配置工程 UIEnable(CBVersion); //允许选择启动版本 break; case WorkStatus.启动成功: BackColor = ColorTranslator.FromHtml("#26adaf"); LBStatus.BackColor = ColorTranslator.FromHtml("#0081c6"); LBProjectName.BackColor = ColorTranslator.FromHtml("#1fd1c6"); BTStartOrStop.Text = "停止"; UIEnable(BTStartOrStop); //允许启动/关闭 UIEnable(BTAddNew, false); //禁止装载新版本 //UIEnable(BTConfig, false);//禁止配置工程 UIEnable(CBVersion, false); //禁止选择启动版本 break; case WorkStatus.正在启动: BackColor = ColorTranslator.FromHtml("#ff8264"); LBStatus.BackColor = ColorTranslator.FromHtml("#ff6464"); LBProjectName.BackColor = ColorTranslator.FromHtml("#ffaa64"); BTStartOrStop.Text = "启~"; UIEnable(BTStartOrStop, false); //禁止启动/关闭 UIEnable(BTAddNew, false); //禁止装载新版本 //UIEnable(BTConfig, false);//禁止配置工程 UIEnable(CBVersion, false); //禁止选择启动版本 break; case WorkStatus.正在关闭: BackColor = ColorTranslator.FromHtml("#ff8264"); LBStatus.BackColor = ColorTranslator.FromHtml("#ff6464"); LBProjectName.BackColor = ColorTranslator.FromHtml("#ffaa64"); BTStartOrStop.Text = "关~"; UIEnable(BTStartOrStop, false); //禁止启动/关闭 UIEnable(BTAddNew, false); //禁止装载新版本 //UIEnable(BTConfig, false);//禁止配置工程 UIEnable(CBVersion, false); //禁止选择启动版本 break; case WorkStatus.端口占用: BackColor = ColorTranslator.FromHtml("#ff467e"); LBStatus.BackColor = ColorTranslator.FromHtml("#f12b6b"); LBProjectName.BackColor = ColorTranslator.FromHtml("#fd94b4"); BTStartOrStop.Text = "停止"; UIEnable(BTStartOrStop); //允许启动/关闭 UIEnable(BTAddNew, false); //禁止装载新版本 //UIEnable(BTConfig);//允许配置工程 UIEnable(CBVersion, false); //禁止选择启动版本 break; case WorkStatus.启动失败: BackColor = ColorTranslator.FromHtml("#ff467e"); LBStatus.BackColor = ColorTranslator.FromHtml("#f12b6b"); LBProjectName.BackColor = ColorTranslator.FromHtml("#fd94b4"); BTStartOrStop.Text = "启动"; UIEnable(BTStartOrStop); //允许启动/关闭 UIEnable(BTAddNew); //允许装载新版本 //UIEnable(BTConfig);//允许配置工程 UIEnable(CBVersion); //允许选择启动版本 break; } StringBuilder tip = new StringBuilder(); if (StartTime.Year > 2000) { tip.AppendLine($"启动时间:{StartTime.ToString("yyyy年MM月dd日 HH时mm分ss秒")}"); } else { tip.AppendLine($"启动时间:未使用程序启动"); } TTInfo.SetToolTip(LBStatus, tip.ToString()); })); } catch { } }