少年修仙传客户端代码仓库
Client_PangDeRong
2018-08-18 814ba3ba871e5553bc00e36619b892a88e691090
[1885]添加神兽部分功能
7个文件已修改
2个文件已添加
192 ■■■■■ 已修改文件
System/Dogz/DogzActiveWin.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dogz/DogzItemCell.cs 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dogz/DogzItemCell.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dogz/DogzModel.cs 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dogz/DogzPackCell.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dogz/DogzPackWin.cs 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Tip/SkillDetails.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Tip/SkillDetailsWin.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI/Common/SortTable.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dogz/DogzActiveWin.cs
@@ -135,6 +135,16 @@
                        var _skillCfg = ConfigManager.Instance.GetTemplate<SkillConfig>(_dogzCfg.HelpBattleSkills[i]);
                        m_DogzSkills[i].Icon.SetSprite(_skillCfg.IconName);
                        m_DogzSkills[i].Lv.text = Language.Get("Z1024", _skillCfg.SkillLV);
                        m_DogzSkills[i].SkillBtn.RemoveAllListeners();
                        m_DogzSkills[i].SkillBtn.AddListener(()=>
                        {
                            int fightPower = 0;
                            if (_skillCfg.FightPower > 0)
                            {
                                fightPower = _skillCfg.FightPower;
                            }
                            SkillDetails.ShowSkillDetails(_skillCfg.SkillID, SkillDetails.SkillSourceType.DogzSkill, fightPower);
                        });
                    }
                }
            }
@@ -226,6 +236,8 @@
            public Image Icon { get { return m_SkillIcon; } }
            [SerializeField] Text m_SkillLv;
            public Text Lv { get { return m_SkillLv; } }
            [SerializeField] Button m_SkillBtn;
            public Button SkillBtn { get { return m_SkillBtn; } }
        }
    }
}
System/Dogz/DogzItemCell.cs
New file
@@ -0,0 +1,55 @@
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI
{
    public class DogzItemCell : MonoBehaviour
    {
        [SerializeField] CommonItemBaisc itemBaisc;
        [SerializeField] Text strengthLvTxt;
        ItemTipsModel tipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } }
        DogzModel dogzModel { get { return ModelCenter.Instance.GetModel<DogzModel>(); } }
        public void Display(int index)
        {
            dogzModel.GetDogzItemList();
            ItemModel model = null;
            if(index < dogzModel.dogzItemList.Count)
            {
                model = dogzModel.dogzItemList[index];
            }
            if(model == null)
            {
                itemBaisc.gameObject.SetActive(false);
                strengthLvTxt.gameObject.SetActive(false);
                return;
            }
            int strenLv = 0;
            if (model.GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus) != null)
            {
                strenLv = model.GetUseDataModel((int)ItemUseDataKey.Def_IudetDogzEquipPlus)[0];
            }
            if (strenLv > 0)
            {
                strengthLvTxt.gameObject.SetActive(true);
                strengthLvTxt.text = StringUtility.Contact("+", strenLv);
            }
            else
            {
                strengthLvTxt.gameObject.SetActive(false);
            }
            itemBaisc.gameObject.SetActive(true);
            itemBaisc.Init(model,true);
            itemBaisc.cellBtn.RemoveAllListeners();
            itemBaisc.cellBtn.AddListener(()=>
            {
                ItemAttrData attrData = new ItemAttrData(model.itemId, false, (ulong)model.itemInfo.ItemCount, model.itemInfo.ItemPlace,
                  model.itemInfo.IsBind, false, PackType.rptDogzItem, model.itemInfo.ItemGUID);
                tipsModel.SetItemTipsModel(attrData);
            });
        }
    }
}
System/Dogz/DogzItemCell.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: f39c1072bca18d842bcd980b83ef13c5
timeCreated: 1534580808
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
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; }
System/Dogz/DogzPackCell.cs
@@ -7,9 +7,7 @@
{
    public class DogzPackCell : ScrollerUI
    {
        [SerializeField] List<Image> m_Compares;
        [SerializeField] List<DogzEquip> m_DogzEquips;
        [SerializeField] List<DogzItemCell> dogzItemlist;
        DogzPackModel m_Model;
        DogzPackModel model
        {
@@ -24,8 +22,7 @@
            for (int i = 0; i < 4; i++)
            {
                var _index = _line * 4 + i;
                m_DogzEquips[i].gameObject.SetActive(_index < model.dogzPackItems.Count);
                m_Compares[i].gameObject.SetActive(_index < model.dogzPackItems.Count);
                dogzItemlist[i].Display(_index);
            }
        }
    }
System/Dogz/DogzPackWin.cs
@@ -34,7 +34,7 @@
                return m_DogzModel ?? (m_DogzModel = ModelCenter.Instance.GetModel<DogzModel>());
            }
        }
        PlayerPackModel playerPack { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } }
        DogzPackModel m_Model;
        DogzPackModel model
        {
@@ -58,6 +58,14 @@
        protected override void OnPreOpen()
        {
            dogzModel.RefreshDogzEquipAct += RefreshDogzEquipEvent;
            playerPack.RefreshItemCountAct += RefreshDogzItemEvent;
            qualitySort.onSelectSortEvent += RefreshDogzSelectEvent;
            starSort.onSelectSortEvent += RefreshDogzSelectEvent;
            dogzModel.SelectDogzItemQuality = 0;
            dogzModel.SelectDogzItemStart = 0;
            starSort.SetDefault();
            qualitySort.SetDefault();
            UpdateDogzEquip();
            UpdateDogzPack();
            starSort.gameObject.SetActive(false);
@@ -70,12 +78,22 @@
        protected override void OnPreClose()
        {
            dogzModel.RefreshDogzEquipAct -= RefreshDogzEquipEvent;
            playerPack.RefreshItemCountAct -= RefreshDogzItemEvent;
            qualitySort.onSelectSortEvent -= RefreshDogzSelectEvent;
            starSort.onSelectSortEvent -= RefreshDogzSelectEvent;
        }
        protected override void OnAfterClose()
        {
        }
        #endregion
        private void RefreshDogzEquipEvent(int dogzId)
        {
            if (dogzId != dogzModel.presentSelectDogz) return;
            UpdateDogzEquip();
        }
        private void UpdateDogzEquip()
        {
@@ -102,12 +120,25 @@
            }
        }
        private void RefreshDogzSelectEvent(int type)
        {
            m_PackController.m_Scorller.RefreshActiveCellViews();
        }
        private void RefreshDogzItemEvent(PackType type, int index, int id)
        {
            if (type != PackType.rptDogzItem || !dogzModel.IsReachSelectCondi(id)) return;
            m_PackController.m_Scorller.RefreshActiveCellViews();
        }
        private void UpdateDogzPack()
        {
            if (m_PackController.GetNumberOfCells(m_PackController.m_Scorller) == 0)
            {
                m_PackController.Refresh();
                var _line = model.DogzPackGridCnt / 4;
                var _line = dogzModel.DogzPackGridCnt / 4;
                for (int i = 0; i < _line; i++)
                {
                    m_PackController.AddCell(ScrollerDataType.Header, i);
System/Tip/SkillDetails.cs
@@ -64,6 +64,9 @@
                    skillSource = _infos[0];
                    infoList.Add(skillModel.Description);
                    break;
                case SkillSourceType.DogzSkill:
                    infoList.Add(skillModel.Description);
                    break;
            }
            if (!WindowCenter.Instance.CheckOpen<SkillDetailsWin>())
            {
@@ -78,6 +81,7 @@
            PetSkill = 2,
            BlastFurnace = 3,
            ViewHorsePet = 4,
            DogzSkill = 5,
        }
    }
}
System/Tip/SkillDetailsWin.cs
@@ -65,6 +65,12 @@
                        textSkillSource.text = SkillDetails.skillSource;
                    }
                    break;
                case SkillDetails.SkillSourceType.DogzSkill:
                    {
                        textSkillSource.text = SkillDetails.skillModel.SkillName;
                        textSkillName.text = Language.Get("PlayerDetail_Level", SkillDetails.skillModel.SkillLV);
                    }
                    break;
            }
UI/Common/SortTable.cs
@@ -28,6 +28,7 @@
        public event Action<int> onSelectSortEvent;
        public event Action onSortCloseEvent;
        DogzModel dogzModel { get { return ModelCenter.Instance.GetModel<DogzModel>(); } }
        private void Awake()
        {
            m_Controller.OnRefreshCell += OnRefreshCell;
@@ -60,9 +61,20 @@
        private void OnSortSelect(CellView _cell)
        {
            var _index = _cell.index;
            var type = m_SortElements[_index].type;
            switch (sortType)
            {
                case SortType.EquipQuality:
                    dogzModel.SelectDogzItemQuality = type;
                    break;
                case SortType.EquipStar:
                    dogzModel.SelectDogzItemStart = type;
                    break;
            }
            if (onSelectSortEvent != null)
            {
                onSelectSortEvent(m_SortElements[_index].type);
                onSelectSortEvent(type);
            }
            if (onSortCloseEvent != null)
            {