private void btnWin_Click(object sender, EventArgs e) { DataRow[] drRd = null; if (((Button)sender).Name == "btnWin") { drRd = DataHelper.XkfyData.Tables["RewardData"].Select("iRID='" + _drBa[0]["sReward$6"].ToString() + "'"); } else { drRd = DataHelper.XkfyData.Tables["RewardData"].Select("iRID='" + _drBa[0]["sReward$7"].ToString() + "'"); } string[] sRewardData = drRd[0]["sRewardData"].ToString().Split('*'); ExplainHelper eh = new ExplainHelper(); string rewardData = eh.ExplainRewardData(sRewardData); string talkid = DataHelper.GetId(rewardData); lblWin.Text += rewardData.Replace("#", ""); if (talkid != "") { SetTalkDr(talkid); } //txtNext.Enabled = true; gbZd.Visible = false; }
private void button2_Click(object sender, EventArgs e) { ToolsHelper tl = new ToolsHelper(); string[] sRewardData = txtsRewardData.Text.Split('*'); lblExplain.Text = ExplainHelper.ExplainRewardData(sRewardData); }
private void dg1_CurrentCellChanged(object sender, EventArgs e) { txtExplain.Text = ""; if (dg1.CurrentRow == null) { return; } DataGridViewRow dv = dg1.CurrentRow; if (dv.Cells[1].Value == null) { return; } string explain = string.Empty; DataTable dt = DataHelper.XkfyData.Tables["Config"]; switch (_tbName) { //DLC内功 case "DLC_NeigongData": txtExplain.Text = ExplainHelper.ExplainNeiGong(dv); break; case "CharacterData": txtExplain.Text = ExplainHelper.GetCharacterData(dv); break; //战斗奖励 case "RewardData": string[] sRewardData = dv.Cells[1].Value.ToString().Split('*'); txtExplain.Text = ExplainHelper.ExplainRewardData(sRewardData); break; //战斗结果 case "BattleAreaData": gbZhanDou.Visible = true; DataHelper.ExistTable("RewardData"); ExplainBattleArea(dv); break; //招式 case "RoutineData": txtExplain.Text = _tl.ExplainRoutineData(dv);; break; //战斗补充文件 case "BattleSchedule": txtExplain.Text = _tl.ExplainBattleSchedule(dv);; break; } }
private void SetParatNodes(DataRow drDq, TreeNode pNode, string Text) { string iId = drDq["iId"].ToString(); string iDevelopType = drDq["iDevelopType"].ToString(); //事件类型 string iType = drDq["iType"].ToString(); TreeNode node4 = new TreeNode(); node4.Text = "【事件】" + Text + "[" + iId + "]"; node4.Name = "[A]" + iId; pNode.Nodes.Add(node4); //判断是否满足条件 if (iType == "3") { //string[] striType = drDq["iType"].ToString().Split(','); //string[] striArg1 = drDq["iArg1"].ToString().Split(','); //string[] striArg2 = drDq["iArg2"].ToString().Split(','); //string[] striCondition = drDq["iCondition"].ToString().Split(','); //string[] Explain = tl.ExplainDevelopQuest(striCondition, striType, striArg1, striArg2); //string txtCondition = Explain[1]; TreeNode node1 = new TreeNode(); node1.Text = "【条件】" + Text + "[" + iId + "]"; node1.Name = "[B]" + iId; node4.Nodes.Add(node1); TreeNode nodeConTrue = new TreeNode(); nodeConTrue.Text = "【满足条件】" + Text + "[" + iId + "]"; nodeConTrue.Name = iId; node1.Nodes.Add(nodeConTrue); //满足条件 SetParatNodes(getDqTb(drDq["iArg3"].ToString()), nodeConTrue, ""); TreeNode nodeConFalse = new TreeNode(); nodeConFalse.Text = "【不满足条件】" + Text + "[" + iId + "]"; nodeConFalse.Name = iId; node1.Nodes.Add(nodeConFalse); //不满足条件 SetParatNodes(getDqTb(drDq["sEndAdd"].ToString()), nodeConFalse, "不满足条件"); } else { //触发战斗,优先执行战斗 if (iDevelopType == "3") { TreeNode node = new TreeNode(); node.Text = "【战斗】" + Text + "[" + iId + "]"; node.Name = "[C]" + iId; node4.Nodes.Add(node); DataRow[] drBa = DataHelper.XkfyData.Tables["BattleAreaData"].Select("iID$0='" + drDq["iArg3"] + "'"); DataRow[] drRd = null; drRd = DataHelper.XkfyData.Tables["RewardData"].Select("iRID='" + drBa[0]["sReward$6"] + "'"); string[] sRewardData = drRd[0]["sRewardData"].ToString().Split('*'); string rewardData = ExplainHelper.ExplainRewardData(sRewardData); string talkid = StringUtils.GetId(rewardData); TreeNode nodeWin = new TreeNode(); nodeWin.Text = "【胜利】" + Text + "[" + iId + "]"; nodeWin.Name = iId; node.Nodes.Add(nodeWin); //战斗胜利 SetParatNodes(getDqTb(talkid), nodeWin, "战斗胜利"); //战斗失败 drRd = DataHelper.XkfyData.Tables["RewardData"].Select("iRID='" + drBa[0]["sReward$7"] + "'"); sRewardData = drRd[0]["sRewardData"].ToString().Split('*'); rewardData = ExplainHelper.ExplainRewardData(sRewardData); talkid = StringUtils.GetId(rewardData); TreeNode nodeFail = new TreeNode(); nodeFail.Text = "【失败】" + Text + "[" + iId + "]"; nodeFail.Name = iId; node.Nodes.Add(nodeFail); SetParatNodes(getDqTb(talkid), nodeFail, ""); } string iArg3 = drDq["iArg3"].ToString(); //下一事件ID string sEndAdd = drDq["sEndAdd"].ToString(); AddTalkNode(node4, iArg3, sEndAdd, ""); } }
private void ExplainBattleArea(DataGridViewRow dv) { StringBuilder sbExplain = new StringBuilder(); StringBuilder sbExplainRed = new StringBuilder(); StringBuilder slExplain = new StringBuilder(); StringBuilder faleExplain = new StringBuilder(); string[] sMustJoinStaff = dv.Cells["sMustJoinStaff$2"].Value.ToString().Split('*'); int i = 0; foreach (string str in sMustJoinStaff) { if (string.IsNullOrEmpty(str.Trim())) { continue; } if (str == "(0,0,0)") { sbExplain.AppendFormat("自定义上场人物{0}\r\n", i); i++; continue; } string[] mustJoinStaff = str.Replace(")", "").Replace("(", "").Split(','); string huihe = mustJoinStaff[0]; string npcid = mustJoinStaff[1]; string zhenyin = mustJoinStaff[2]; string npcName = DataHelper.GetNpcName(npcid); sbExplain.AppendFormat("我方上场【{0}】\r\n", npcName); } sMustJoinStaff = dv.Cells["sJoinStaff$3"].Value.ToString().Split('*'); i = 0; foreach (string str in sMustJoinStaff) { if (string.IsNullOrEmpty(str.Trim())) { continue; } if (str == "(0,0,0)") { sbExplain.AppendFormat("自定义上场人物{0}\r\n", i); continue; } string[] mustJoinStaff = str.Replace(")", "").Replace("(", "").Split(','); string huihe = mustJoinStaff[0]; string npcid = mustJoinStaff[1]; string zhenyin = mustJoinStaff[2]; string npcName = DataHelper.GetNpcName(npcid); sbExplainRed.AppendFormat("敌方上场【{0}】\r\n", npcName); } //胜利条件 i = 0; string[] iVictory = dv.Cells["iVictory$4"].Value.ToString().Split('*'); foreach (string str in iVictory) { if (i != 0) { slExplain.Append(" 或 "); } i++; if (str == "(0,0,0)") { slExplain.Append("对方全部阵亡"); continue; } string[] victory = str.Replace(")", "").Replace("(", "").Split(','); if ((victory[0] == "1" || victory[0] == "0") && victory[1] != "0" && victory[2] == "0") { slExplain.AppendFormat("坚持{0}回合!", victory[1]); } else if (victory[0] == "2" && victory[1] != "0" && victory[2] == "0") { slExplain.AppendFormat("击败{0}!", DataHelper.GetNpcName(victory[1])); } else { slExplain.AppendFormat("弱鸡作者不明白{0}的意思", str); } } //失败条件 i = 0; string[] iFale = dv.Cells["iFale$5"].Value.ToString().Split('*'); foreach (string str in iFale) { if (i != 0) { faleExplain.Append(" 或 "); } i++; if (str == "(0,0,0)") { faleExplain.Append("我方全部阵亡\r\n"); continue; } string[] victory = str.Replace(")", "").Replace("(", "").Split(','); if ((victory[0] == "1" || victory[0] == "0") && victory[1] != "0" && victory[2] == "0") { faleExplain.AppendFormat("对方坚持了{0}回合!", victory[1]); } else if (victory[0] == "2" && victory[1] != "0" && victory[2] == "0") { faleExplain.AppendFormat("{0}阵亡!", DataHelper.GetNpcName(victory[1])); } else { faleExplain.AppendFormat("弱鸡作者不明白{0}的意思", str); } } lblExplainRed.Text = sbExplainRed.ToString(); lblSl.Text = slExplain.ToString(); txtExplain.Text = sbExplain.ToString(); lblFale.Text = faleExplain.ToString(); DataRow[] drBa = DataHelper.XkfyData.Tables["RewardData"].Select($"TxzColumn1='{dv.Cells["sReward$6"].Value}'"); if (drBa.Length == 0 || drBa.Length > 1) { txtWin.Text = "数据有误,无法解析iRID=" + dv.Cells["sReward$6"].Value.ToString(); return; } string[] sRewardData = drBa[0]["TxzColumn2"].ToString().Split('*'); txtWin.Text = ExplainHelper.ExplainRewardData(sRewardData); drBa = DataHelper.XkfyData.Tables["RewardData"].Select($"TxzColumn1='{dv.Cells["sReward$7"].Value}'"); sRewardData = drBa[0]["TxzColumn2"].ToString().Split('*'); textBox1.Text = ExplainHelper.ExplainRewardData(sRewardData); }