少年修仙传客户端代码仓库
Client_PangDeRong
2018-08-18 814ba3ba871e5553bc00e36619b892a88e691090
System/Dogz/DogzModel.cs
@@ -18,6 +18,9 @@
        public void OnBeforePlayerDataInitialize()
        {
            addAssistCnt = 0;
            SelectDogzItemQuality = 0;
            SelectDogzItemStart = 0;
            dogzItemList = new List<ItemModel>();
            dogzAssistStateDict = new Dictionary<int, int>();
        }
@@ -43,8 +46,10 @@
        public int DogzAssistDefaultCnt { get; private set; }  //助战神兽总数
        public int DogzAssistMaxCnt { get; private set; }//助战神兽最大数
        public int AddAssistItem { get; private set; } //增加助战神兽总数的物品Id
        public int DogzPackGridCnt { get; private set; } //神兽物品背包格子数
        public int[] AddAssistItemCnt { get; private set; } //增加助战神兽总数的物品数量
        public Dictionary<int, int> m_DogzEquipStrenLimit { get; private set;} //神兽装备强化上限 品质 强化等级
        void ParseConfig()
        {
            var _dogzCfgs = ConfigManager.Instance.GetAllValues<DogzConfig>();
@@ -64,8 +69,9 @@
            AddAssistItem = int.Parse(_funcCfg.Numerical2);
            AddAssistItemCnt = ConfigParse.GetMultipleStr<int>(_funcCfg.Numerical3);
            m_DogzEquipStrenLimit = ConfigParse.GetDic<int, int>(_funcCfg.Numerical4);
            _funcCfg = ConfigManager.Instance.GetTemplate<FuncConfigConfig>("DogzPack");
            DogzPackGridCnt = int.Parse(_funcCfg.Numerical1);
        }
        /// <summary>
        /// 获得格子可以穿戴的装备限制  神兽Id  格子索引 
        /// </summary>
@@ -356,6 +362,45 @@
        #endregion
        #region 神兽背包物品
        public int SelectDogzItemQuality { get; set; }
        public int SelectDogzItemStart { get; set; }
        public List<ItemModel> dogzItemList { get; private set; }
        public List<ItemModel> GetDogzItemList()
        {
            dogzItemList.Clear();
            SinglePackModel singlePack = playerPack.GetSinglePackModel(PackType.rptDogzItem);
            if (singlePack == null) return dogzItemList;
            Dictionary<int, ItemModel> pairs = singlePack.GetPackModelIndexDict();
           foreach(var value in pairs.Values)
            {
                if(IsReachSelectCondi(value.itemId))
                {
                    dogzItemList.Add(value);
                }
            }
            return dogzItemList;
        }
        public bool IsReachSelectCondi(int itemId)
        {
            ItemConfig itemConfig = ConfigManager.Instance.GetTemplate<ItemConfig>(itemId);
            if (itemConfig == null) return false;
            if (SelectDogzItemQuality == 0 && SelectDogzItemStart == 0) return true;
            if (SelectDogzItemQuality == 0 && itemConfig.StarLevel == SelectDogzItemStart) return true;
            if (SelectDogzItemQuality == itemConfig.ItemColor && SelectDogzItemStart == 0) return true;
            if (SelectDogzItemQuality == itemConfig.ItemColor && SelectDogzItemStart == itemConfig.StarLevel) return true;
            return false;
        }
        #endregion
        #region 装备详细信息
        public DogzEquipData viewDetailData { get; private set; }