Пример #1
0
        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}行数据";
        }
Пример #2
0
        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;
        }
Пример #3
0
        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}行数据";
        }
Пример #4
0
        private void button2_Click(object sender, EventArgs e)
        {
            ToolsHelper tl = new ToolsHelper();

            string[] sRewardData = txtsRewardData.Text.Split('*');
            lblExplain.Text = ExplainHelper.ExplainRewardData(sRewardData);
        }
Пример #5
0
        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;
            }
        }
Пример #6
0
        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, "");
            }
        }
Пример #7
0
 private string GetSkillName(string skillNo)
 {
     Const.BattleAbilityFe.Id = skillNo;
     return(ExplainHelper.GetBattleAbilityName());
 }
Пример #8
0
 private void txtiid_TextChanged(object sender, EventArgs e)
 {
     Const.NeiGongFe.Id = txtiid.Text;
     txtNgName.Text     = ExplainHelper.GetNeiGongName();
 }
Пример #9
0
        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;
            }
        }
Пример #10
0
        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(',');
        }
Пример #11
0
        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);
        }