Example #1
0
        public static void LoadEquipQianHuaProps()
        {
            XElement xml      = null;
            string   fileName = "";

            try
            {
                fileName = string.Format("Config/QiangHua.xml", new object[0]);
                xml      = XElement.Load(Global.GameResPath(fileName));
                if (null == xml)
                {
                    throw new Exception(string.Format("加载系统xml配置文件:{0}, 失败。没有找到相关XML配置文件!", fileName));
                }
            }
            catch (Exception)
            {
                throw new Exception(string.Format("加载系统xml配置文件:{0}, 失败。没有找到相关XML配置文件!", fileName));
            }
            Dictionary <int, List <ChuanQiQianHuaItem> > dict = new Dictionary <int, List <ChuanQiQianHuaItem> >();
            IEnumerable <XElement> xmlItems = xml.Elements("QiangHua");

            foreach (XElement xmltem in xmlItems)
            {
                SystemXmlItem systemXmlItem = new SystemXmlItem
                {
                    XMLNode = xmltem
                };
                int id = systemXmlItem.GetIntValue("ID", -1);
                dict[id] = ChuanQiQianHua.ParseSystemXmlItem(systemXmlItem);
            }
            ChuanQiQianHua.QianHuaItemDict = dict;
        }
Example #2
0
        private static List <ChuanQiQianHuaItem> ParseSystemXmlItem(SystemXmlItem systemXmlItem)
        {
            List <ChuanQiQianHuaItem> list = new List <ChuanQiQianHuaItem>();
            string qianHua = systemXmlItem.GetStringValue("QiangHua");
            List <ChuanQiQianHuaItem> result;

            if (string.IsNullOrEmpty(qianHua))
            {
                result = list;
            }
            else
            {
                string[] qianHuaFields = qianHua.Split(new char[]
                {
                    '|'
                });
                for (int i = 0; i < qianHuaFields.Length; i++)
                {
                    list.AddRange(ChuanQiQianHua.ParseChuanQiQianHuaItem(systemXmlItem.GetIntValue("ID", -1), qianHuaFields[i]));
                }
                result = list;
            }
            return(result);
        }
Example #3
0
        public static void ApplayEquipQianHuaProps(double[] equipProps, int occupation, GoodsData goodsData, SystemXmlItem systemGoods, bool toAdd)
        {
            List <MagicActionItem> magicActionItemList = null;

            if (GameManager.SystemMagicActionMgr.GoodsActionsDict.TryGetValue(goodsData.GoodsID, out magicActionItemList) && null != magicActionItemList)
            {
                if (magicActionItemList.Count > 0)
                {
                    if (magicActionItemList[0].MagicActionID == MagicActionIDs.DB_ADD_YINYONG)
                    {
                        if (magicActionItemList[0].MagicActionParams.Length == 2)
                        {
                            int qianHuaID = (int)magicActionItemList[0].MagicActionParams[0];
                            List <ChuanQiQianHuaItem> list = ChuanQiQianHua.GetListChuanQiQianHuaItem(qianHuaID);
                            if (list != null && list.Count > 0)
                            {
                                for (int i = 0; i < list.Count; i++)
                                {
                                    if (list[i].QianHuaLevel <= goodsData.Forge_level)
                                    {
                                        if (toAdd)
                                        {
                                            equipProps[list[i].PropIndex] += list[i].ItemValue;
                                        }
                                        else
                                        {
                                            equipProps[list[i].PropIndex] -= list[i].ItemValue;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }