private void dgXiaoGuo_CellClick(object sender, DataGridViewCellEventArgs e) { txtXgName.Text = ""; txtXgName2.Text = ""; if (dgXiaoGuo.CurrentRow == null) { return; } _dgvDrc = dgXiaoGuo.CurrentRow; cboEffectType1.SelectedIndexChanged -= cboEffectType1_SelectedIndexChanged; DataHelper.SetCtrlByDataRow(groupBox1, _dgvDrc); cboEffectType1.SelectedIndexChanged += cboEffectType1_SelectedIndexChanged; btnAddXg.Visible = false; btnSaveXg.Visible = true; if (txtValue1.Text != Const.Zero && !string.IsNullOrEmpty(txtValue1.Text)) { txtXgName.Text = ExplainHelper.GetConditionName(txtValue1.Text); } if (txtValue2.Text != Const.Zero && !string.IsNullOrEmpty(txtValue2.Text)) { txtXgName2.Text = ExplainHelper.GetConditionName(txtValue2.Text); } lblMsg.Text = $"当前修改第{dgXiaoGuo.CurrentRow.Index + 1}行数据"; }
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 dgXiaoGuo_CellClick(object sender, DataGridViewCellEventArgs e) { CleatState(); _dgvDrc = dgXiaoGuo.CurrentRow; if (_dgvDrc == null) { return; } DataHelper.SetCtrlByDataRow(groupBox2, _dgvDrc); btnAddXg.Visible = false; btnSaveXg.Visible = true; if (txtValue1.Text.Length > 5) { txtXgName.Visible = true; btnSelBattleCondition.Visible = true; txtXgName.Text = ExplainHelper.GetConditionName(txtValue1.Text); } if (txtValue2.Text.Length > 5) { txtXgName2.Visible = true; btnSelBattleCondition2.Visible = true; txtXgName2.Text = ExplainHelper.GetConditionName(txtValue2.Text); } lblMsg.Text = $"当前修改第{_dgvDrc.Index + 1}行数据"; }
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 string GetSkillName(string skillNo) { Const.BattleAbilityFe.Id = skillNo; return(ExplainHelper.GetBattleAbilityName()); }
private void txtiid_TextChanged(object sender, EventArgs e) { Const.NeiGongFe.Id = txtiid.Text; txtNgName.Text = ExplainHelper.GetNeiGongName(); }
private void dg1_CurrentCellChanged(object sender, EventArgs e) { txtExplain.Text = ""; DataGridViewRow dv = dg1.CurrentRow; if (dv?.Cells[1].Value == null) { return; } DataTable dt = DataHelper.DdlDataSet.Tables["TalkManager.iGtype"]; StringBuilder explainText = new StringBuilder(); switch (_configKey) { case "Map": string npcId = dv.Cells["iNpcID"].Value.ToString(); explainText.Append(ExplainHelper.GetNpcName(npcId.Substring(0, npcId.Length - 3))); explainText.Append("\r\n"); explainText.Append("点击对话:"); explainText.Append("\r\n"); explainText.Append(ExplainHelper.GetMapTalkManager(dv.Cells["sDialogueQID"].Value.ToString())); explainText.Append("\r\n"); explainText.Append("NPC移动时对话:"); explainText.Append("\r\n"); explainText.Append(ExplainHelper.GetMapTalkManager(dv.Cells["sMobileQID"].Value.ToString())); txtExplain.Text = explainText.ToString(); break; case "NpcConduct": string[] tmp = dv.Cells["sConduct"].Value.ToString().Replace("(", "").Replace(")", "").Split(','); if (tmp.Length == 4) { txtExplain.Text = ExplainHelper.GetNpcName(tmp[3].Substring(0, tmp[3].Length - 3)); } break; } switch (_tbName) { case "DevelopQuestData": string[] striType = dv.Cells["iType"].Value.ToString().Split(','); string[] striArg1 = dv.Cells["iArg1"].Value.ToString().Split(','); string[] striArg2 = dv.Cells["iArg2"].Value.ToString().Split(','); string[] striCondition = dv.Cells["iCondition"].Value.ToString().Split(','); string[] explain = tl.ExplainDevelopQuest(striCondition, striType, striArg1, striArg2); txtExplain.Text = explain[0] + @"\r\n\r\n" + explain[1]; break; //战斗奖励 case "RewardData": string[] sRewardData = dv.Cells["sRewardData"].Value.ToString().Split('*'); txtExplain.Text = tl.ExplainRewardData(sRewardData, dt); break; //战斗结果 case "BattleAreaData": gbZhanDou.Visible = true; ExplainBattleArea(dv, dt); break; //内功 case "BattleNeigong": txtExplain.Text = tl.ExplainNeiGong(dv.Cells["ID"].Value.ToString()); break; //对话 case "TalkManager": txtExplain.Text = tl.ExplainTalkManager(dv); break; //招式 case "RoutineData": txtExplain.Text = tl.ExplainRoutineData(dv); break; //mapTalkManager case "MapTalkManager": string iGiftId = dv.Cells["iGiftID"].Value.ToString(); if (iGiftId == "0") { break; } DataRow[] drRw = DataHelper.XkfyData.Tables["RewardData"].Select("iRID='" + iGiftId + "'"); if (drRw.Length != 1) { txtExplain.Text = @"奖励ID有误,请检查!"; } else { txtExplain.Text = tl.ExplainRewardData(drRw[0]["sRewardData"].ToString().Split('*'), dt); } break; case "QuestDataManager": if (dv.Cells["sOConditions"].Value.ToString() != "0") { string[] sOConditions = dv.Cells["sOConditions"].Value.ToString().Split('*'); txtExplain.Text = @"触发条件:" + tl.ExplainQuestDataCon(sOConditions, dt); } //关闭剧情 string finshQType = dv.Cells["sFinshQType"].Value.ToString(); if (finshQType != "0" && finshQType != "(1,0,0)") { string[] sFinshQType = finshQType.Split('*'); txtExplain.Text += @"\r\n关闭事件:" + tl.ExplainQuestDataFinish(sFinshQType); } string iGiftId1 = dv.Cells["iGiftID1"].Value.ToString(); if (iGiftId1 == "0") { break; } drRw = DataHelper.XkfyData.Tables["RewardData"].Select("iRID='" + iGiftId1 + "'"); if (drRw.Length != 1) { txtExplain.Text += @"\r\n获得奖励:奖励ID有误,请检查!"; } else { txtExplain.Text += @"\r\n获得奖励:" + tl.ExplainRewardData(drRw[0]["sRewardData"].ToString().Split('*'), dt); } break; //战斗补充文件 case "BattleSchedule": txtExplain.Text = tl.ExplainBattleSchedule(dv); break; case "ItemData": StringBuilder sbExplain = new StringBuilder(); if (dv.Cells[0].Value.ToString() == "") { return; } string snpclike = dv.Cells["sNpcLike$28"].Value.ToString(); if (snpclike != "0" && snpclike != "") { string[] snpclikeArray = snpclike.Split('*'); for (int i = 0; i < snpclikeArray.Length; i++) { string[] str = snpclikeArray[i].Replace("(", "").Replace(")", "").Split(','); sbExplain.AppendFormat("送给【{0}】增加{1}点好感 ", DataHelper.GetValue("NpcData", "sNpcName", "iID", str[0]), str[1]); sbExplain.Append("\r\n"); } } sbExplain.Append("\r\n"); string sUseLimit = dv.Cells["sUseLimit$29"].Value.ToString(); if (sUseLimit != "0" && !string.IsNullOrEmpty(sUseLimit)) { string[] useLimit = sUseLimit.Replace("(", "").Replace(")", "").Split(','); if (useLimit.Length < 3) { return; } string name = string.Empty; switch (useLimit[0]) { case "0": name = DataHelper.GetDicValue("MB", useLimit[1]); break; case "1": name = DataHelper.GetDicValue("JBG", useLimit[1]); break; case "2": name = DataHelper.GetDicValue("ZS", useLimit[1]); break; case "4": name = DataHelper.GetDicValue("JY", useLimit[1]); break; } sbExplain.AppendFormat("使用条件【{0}】{1}", name, useLimit[2]); } txtExplain.Text = sbExplain.ToString(); break; } }
private void SetValue() { DataHelper.SetCtrlByDataRow(this, _dr); string[] condition = _dr.Cells["condition"].Value.ToString().Split(','); string buffName = condition.Where(t => t != "" && t != "0").Aggregate(string.Empty, (current, t) => current + (ExplainHelper.GetConditionName(t) + ",")); txtBuffName.Text = buffName.TrimEnd(','); }
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); }