示例#1
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;
        }
示例#2
0
        private void button2_Click(object sender, EventArgs e)
        {
            ToolsHelper tl = new ToolsHelper();

            string[] sRewardData = txtsRewardData.Text.Split('*');
            lblExplain.Text = ExplainHelper.ExplainRewardData(sRewardData);
        }
示例#3
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;
            }
        }
示例#4
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, "");
            }
        }
示例#5
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);
        }