少年修仙传客户端代码仓库
Client_PangDeRong
2018-09-27 07c910b18e60935b06dfc1632821e88dc8a123bd
1885 优化神兽功能
3个文件已修改
104 ■■■■■ 已修改文件
System/Dogz/DogzActiveWin.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dogz/DogzModel.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dogz/DogzPackWin.cs 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dogz/DogzActiveWin.cs
@@ -19,6 +19,7 @@
        [SerializeField] List<DogzUnEquip> m_DogzUnEquipBtns;
        [SerializeField] List<Text> m_PropertyTypes;
        [SerializeField] List<Text> m_PropertyValues;
        [SerializeField] List<Image> sliderImglist = new List<Image>();
        [SerializeField] Image m_DogzHeadIcon;
        [SerializeField] Text m_DogzAssistCnt;
        [SerializeField] Button m_AddAssistBtn;
@@ -103,6 +104,26 @@
            int jumpIndex = model.presentSelectDogz - 1 > 0 ? model.presentSelectDogz - 1 : 0;
            m_Controller.JumpIndex(jumpIndex);
        }
        private void SetDefalutDogzEquipState()
        {
            for (int i = 0; i < sliderImglist.Count; i++)
            {
                ItemModel itemModel = null;
                bool isPut = model.TryGetDogzEquip(model.presentSelectDogz, model.GetDogzEquipPlaceByIndex(i), out itemModel);
                if (!isPut)
                {
                    sliderImglist[i].fillAmount = 0;
                    sliderImglist[i].gameObject.SetActive(false);
                }
                else
                {
                    sliderImglist[i].fillAmount = 1;
                    sliderImglist[i].gameObject.SetActive(true);
                }
            }
        }
        private void UpdateSelectDogzEvent()
        {
            m_Controller.m_Scorller.RefreshActiveCellViews();
@@ -110,6 +131,7 @@
            UpdateDogzEquip();
            UpdateDogzProperty();
            UpdateDogzBtn();
            SetDefalutDogzEquipState();
            assistBtnRedBehav.redpointId = model.GetDogzAssistRedpointById(model.presentSelectDogz).id;
        }
        private void UpdateDogzSkill()
@@ -154,7 +176,7 @@
            UpdateDogzEquip();
            UpdateDogzProperty();
            UpdateDogzBtn();
            SetDefalutDogzEquipState();
        }
        private void UpdateDogzEquip()
System/Dogz/DogzModel.cs
@@ -501,6 +501,19 @@
            return false;
        }
        public Dictionary<int,bool> dogzEquipStateDict { get; private set; }
        public Dictionary<int,bool> GetDogzEquipPlaceStates(int _dogzId)
        {
            dogzEquipStateDict = new Dictionary<int, bool>();
            for(int i = 0; i < 5; i++)
            {
                int equipPlace = GetDogzEquipPlaceByIndex(i);
                ItemModel _equipData = null;
                dogzEquipStateDict.Add(i, TryGetDogzEquip(_dogzId,equipPlace,out _equipData));
            }
            return dogzEquipStateDict;
        }
        public void CheckPutOff(int equipPlace)
        {
            if (TryGetAssistDogzState(presentSelectDogz))
@@ -525,6 +538,7 @@
        {
            if (indexlist == null || indexlist.Count < 1) return;
            GetDogzEquipPlaceStates(presentSelectDogz);
            CA5C0_tagCMDogzEquipItem dogzPutOn = new CA5C0_tagCMDogzEquipItem();
            dogzPutOn.DogzID = (byte)presentSelectDogz;
            dogzPutOn.EquipIndexCount = (byte)indexlist.Count;
@@ -539,6 +553,7 @@
        private void SendPutOffEquip(int equipPlace)
        {
            GetDogzEquipPlaceStates(presentSelectDogz);
            CA5C1_tagCMDogzUnEquipItem dogzPutOff = new CA5C1_tagCMDogzUnEquipItem();
            dogzPutOff.DogzID = (byte)presentSelectDogz;
            dogzPutOff.EquipPlace = (byte)equipPlace;
System/Dogz/DogzPackWin.cs
@@ -29,7 +29,7 @@
        [SerializeField] Transform starArrow;
        [SerializeField] SortTable qualitySort;
        [SerializeField] SortTable starSort;
        [SerializeField] List<Image> sliderImglist = new List<Image>();
        DogzModel m_DogzModel;
        DogzModel dogzModel
        {
@@ -47,6 +47,7 @@
                return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<DogzPackModel>());
            }
        }
        List<Image> curSliderImglist = new List<Image>();
        #region Built-in
        protected override void BindController()
        {
@@ -63,6 +64,7 @@
        protected override void OnPreOpen()
        {
            curSliderImglist.Clear();
            dogzModel.RefreshDogzEquipAct += RefreshDogzEquipEvent;
            playerPack.RefreshItemCountAct += RefreshDogzItemEvent;
            qualitySort.onSelectSortEvent += RefreshDogzSelectEvent;
@@ -76,6 +78,7 @@
            qualitySort.SetDefault();
            UpdateDogzEquip();
            UpdateDogzPack();
            SetDefalutDogzEquipState();
            starSort.gameObject.SetActive(false);
            qualitySort.gameObject.SetActive(false);
            starArrow.localRotation = Quaternion.Euler(0, 0, 180);
@@ -99,12 +102,27 @@
        protected override void OnAfterClose()
        {
        }
        protected override void LateUpdate()
        {
            if(curSliderImglist.Count > 0)
            {
                for(int i = 0; i < curSliderImglist.Count; i++)
                {
                    if(curSliderImglist[i].fillAmount < 1)
                    {
                        curSliderImglist[i].fillAmount += 0.1f;
                    }
                }
            }
        }
        #endregion
        private void RefreshDogzEquipEvent(int dogzId)
        {
            if (dogzId != dogzModel.presentSelectDogz) return;
            UpdateDogzEquip();
            UpdateDogzEquipState(dogzId);
        }
        private void UpdateDogzEquip()
@@ -136,6 +154,51 @@
            }
        }
        private void SetDefalutDogzEquipState()
        {
            for(int i = 0; i < sliderImglist.Count; i++)
            {
                ItemModel itemModel = null;
                bool isPut = dogzModel.TryGetDogzEquip(dogzModel.presentSelectDogz, dogzModel.GetDogzEquipPlaceByIndex(i), out itemModel);
                if (!isPut)
                {
                    sliderImglist[i].fillAmount = 0;
                    sliderImglist[i].gameObject.SetActive(false);
                }
                else
                {
                    sliderImglist[i].fillAmount = 1;
                    sliderImglist[i].gameObject.SetActive(true);
                }
            }
        }
        private void UpdateDogzEquipState(int dogzId)
        {
            curSliderImglist.Clear();
            foreach (var index in dogzModel.dogzEquipStateDict.Keys)
            {
                ItemModel itemModel = null;
                bool isPut = dogzModel.TryGetDogzEquip(dogzId,dogzModel.GetDogzEquipPlaceByIndex(index),out itemModel);
                if(!dogzModel.dogzEquipStateDict[index] && isPut)
                {
                    sliderImglist[index].gameObject.SetActive(true);
                    sliderImglist[index].fillAmount = 0;
                    curSliderImglist.Add(sliderImglist[index]);
                }
                else if(!isPut)
                {
                    sliderImglist[index].fillAmount = 0;
                    sliderImglist[index].gameObject.SetActive(false);
                }
                else
                {
                    sliderImglist[index].fillAmount = 1;
                    sliderImglist[index].gameObject.SetActive(true);
                }
            }
        }
        private void ClickEquipIndex(int index)
        {
            dogzModel.GetDogzItemListByIndex(dogzModel.presentSelectDogz,index);