少年修仙传客户端代码仓库
client_linchunjie
2018-08-17 d5cfc06a1ad77780805b27c48f92ee66912c4f13
System/Dogz/DogzModel.cs
@@ -18,34 +18,40 @@
        }
        #region 配置
        private Dictionary<int, Dictionary<int, int>> m_DogzEquipLimit = new Dictionary<int, Dictionary<int, int>>();
        public int DogzAssistDefaultCnt { get; private set; }
        public int AddAssistItem { get; private set; }
        public int AddAssistItemCnt { get; private set; }
        private Dictionary<int, Dictionary<int, int>> m_DogzEquipLimit = new Dictionary<int, Dictionary<int, int>>(); //装备位 品质限制
        public int DogzAssistDefaultCnt { get; private set; }  //助战神兽总数
        public int DogzAssistMaxCnt { get; private set; }//助战神兽最大数
        public int AddAssistItem { get; private set; } //增加助战神兽总数的物品Id
        public int[] AddAssistItemCnt { get; private set; } //增加助战神兽总数的物品数量
        public Dictionary<int, int> m_DogzEquipStrenLimit { get; private set;} //神兽装备强化上限 品质 强化等级
        void ParseConfig()
        {
            var _dogzCfgs = ConfigManager.Instance.GetAllValues<DogzConfig>();
            for (int i = 0; i < _dogzCfgs.Count; i++)
            {
                var _dict = new Dictionary<int, int>();
                var _json = LitJson.JsonMapper.ToObject(_dogzCfgs[i].EquipLimit);
                foreach (var _key in _json.Keys)
                for(int j = 0; j < _dogzCfgs[i].EquipPlaceColorList.Length; j++)
                {
                    var _index = int.Parse(_key);
                    _dict.Add(_index, int.Parse(_json[_key].ToString()));
                    _dict.Add(j+1, _dogzCfgs[i].EquipPlaceColorList[j]);
                }
                m_DogzEquipLimit.Add(_dogzCfgs[i].id, _dict);
                m_DogzEquipLimit.Add(_dogzCfgs[i].ID, _dict);
            }
            var _funcCfg = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("DogzAssist");
            DogzAssistDefaultCnt = int.Parse(_funcCfg.Numerical1);
            var _itemJson = LitJson.JsonMapper.ToObject(_funcCfg.Numerical2);
            var _itemJsonKey = _itemJson.Keys.First();
            AddAssistItem = int.Parse(_itemJsonKey);
            AddAssistItemCnt = int.Parse(_itemJson[_itemJsonKey].ToString());
            int[] assistDogz = ConfigParse.GetMultipleStr<int>(_funcCfg.Numerical1);
            DogzAssistDefaultCnt = assistDogz[0];
            DogzAssistMaxCnt = assistDogz[1];
            AddAssistItem = int.Parse(_funcCfg.Numerical2);
            AddAssistItemCnt = ConfigParse.GetMultipleStr<int>(_funcCfg.Numerical3);
            m_DogzEquipStrenLimit = ConfigParse.GetDic<int, int>(_funcCfg.Numerical4);
            dogzAssists = new List<int>();
        }
        /// <summary>
        /// 获得格子可以穿戴的装备限制  神兽Id  格子索引
        /// </summary>
        /// <param name="_dogzId"></param>
        /// <param name="_index"></param>
        /// <returns></returns>
        public int GetDogzEquipLimitByIndex(int _dogzId, int _index)
        {
            if (m_DogzEquipLimit.ContainsKey(_dogzId))
@@ -59,52 +65,57 @@
            return 0;
        }
        public int GetDogzGrade(int _id)
        {
            return 0;
        }
        /// <summary>
        /// 得到神兽格子对应的装备部位
        /// </summary>
        /// <param name="_index"></param>
        /// <returns></returns>
        public static string GetDogzPartNameByIndex(int _index)
        {
            switch (_index)
            {
                //case 0:
                //    return "兽角";
                //case 1:
                //    return "魔眼";
                //case 2:
                //    return "獠牙";
                //case 3:
                //    return "兽爪";
                //case 4:
                //    return "鳞甲";
                case 0:
                    return "兽角";
                case 1:
                    return "魔眼";
                case 2:
                    return "獠牙";
                case 3:
                    return "兽爪";
                case 4:
                    return "鳞甲";
                default:
                    return string.Empty;
            }
        }
        public static string GetItemColorName(int _itemColor)
        {
            switch (_itemColor)
            {
                //case 0:
                //case 1:
                //    return "白色";
                //case 2:
                //    return "蓝色";
                //case 3:
                //    return "紫色";
                //case 4:
                //    return "橙色";
                //case 5:
                //    return "红色";
                case 0:
                case 1:
                    return "白色";
                case 2:
                    return "蓝色";
                case 3:
                    return "紫色";
                case 4:
                    return "橙色";
                case 5:
                    return "红色";
                default:
                    return string.Empty;
            }
        }
        #endregion
        public int presentSelectDogz { get; set; }
        public int GetAssistItemCnt()
        {
            return AddAssistItemCnt[0];
        }
        public int presentSelectDogz { get; set; } //当前选中的神兽id
        public event Action UpdateSelectDogzEvent;
        public void SetSelectDogz(int _id)
        {
@@ -116,7 +127,7 @@
        }
        #region 协议
        public List<int> dogzAssists { get; private set; }
        public List<int> dogzAssists { get; private set; } //当前助战神兽列表
        public event Action UpdateAssistDogzEvent;
        public void UpdateAssistDogz()
        {
@@ -126,6 +137,10 @@
                UpdateAssistDogzEvent();
            }
        }
        /// <summary>
        /// 获得神兽穿戴的装备数据
        /// </summary>
        private Dictionary<int, List<DogzEquipData>> m_DogzEquipDict = new Dictionary<int, List<DogzEquipData>>();
        public List<DogzEquipData> GetDogzEquips(int _dogzId)
        {
@@ -133,6 +148,14 @@
            m_DogzEquipDict.TryGetValue(_dogzId,out _list);
            return _list;
        }
        /// <summary>
        /// 获得当前格子穿戴的装备
        /// </summary>
        /// <param name="_dogzId"></param>
        /// <param name="_index"></param>
        /// <param name="_equipData"></param>
        /// <returns></returns>
        public bool TryGetDogzEquip(int _dogzId, int _index, out DogzEquipData _equipData)
        {
            _equipData = default(DogzEquipData);