少年修仙传客户端代码仓库
client_Hale
2019-04-11 9f89e3be35da42eb9ccb44e6589d62f320aa444c
System/EquipStar/EquipStarWin.cs
@@ -15,7 +15,7 @@
    public class EquipStarWin : Window
    {
        [SerializeField] RectTransform m_LevelContainer;
        [SerializeField] ImageCouple[] m_Stars;
        [SerializeField] Star[] m_Stars;
        [SerializeField] ItemCell m_TargetEquip;
        [SerializeField] Text m_EquipStar;
        [SerializeField] Materials m_Materials;
@@ -56,7 +56,6 @@
            }
            DisplayBaseInfo();
            DisplayDynamicInfo(true);
        }
        protected override void OnAfterOpen()
@@ -71,6 +70,12 @@
        protected override void OnAfterClose()
        {
            model.ResetOperateParams();
        }
        protected override void OnActived()
        {
            base.OnActived();
            DisplayDynamicInfo(true);
        }
        protected override void LateUpdate()
@@ -143,9 +148,13 @@
                var equipPosition = new Int2(model.selectedLevel.value, model.selectedPlace.value);
                var starLevel = model.equipStarLevel.Fetch();
                var maxStar = model.equipMaxStarLevel.Fetch();
                DisplayStars(equipPosition, starLevel, maxStar);
                DisplayPropertyPreview(equipPosition, starLevel, EquipStarModel.GetMaxStarLevel(equipPosition.x));
                DisplayStarUpgradeButton(equipPosition, starLevel);
            }
            if (force || model.stars.dirty)
            {
                DisplayStars(model.stars.Fetch());
            }
            if (force || model.starUpgradeProbability.dirty)
@@ -167,29 +176,10 @@
            }
        }
        private void DisplayStars(Int2 equipPosition, int currentStar, int maxStar)
        private void DisplayStars(List<EquipStarModel.Star> stars)
        {
            if (equipPosition.y == 0)
            {
                foreach (var behaviour in m_Stars)
                {
                    behaviour.Hide();
                }
            }
            else
            {
                for (var i = 0; i < m_Stars.Length; i++)
                {
                    if (i < maxStar)
                    {
                        m_Stars[i].Display(i < currentStar);
                    }
                    else
                    {
                        m_Stars[i].Hide();
                    }
                }
            }
            StopCoroutine("Co_DisplayStars");
            StartCoroutine("Co_DisplayStars", stars);
        }
        private void DisplayMaterialSlots(Int2 equipPosition, int currentStarLevel)
@@ -427,6 +417,32 @@
            m_EffectFailed.Play();
        }
        IEnumerator Co_DisplayStars(List<EquipStarModel.Star> stars)
        {
            var hasNewStar = stars.FindIndex(x => { return x.newGet; }) != -1;
            if (hasNewStar)
            {
                yield return WaitingForSecondConst.WaitMS2000;
            }
            for (var i = 0; i < m_Stars.Length; i++)
            {
                if (i < stars.Count)
                {
                    var star = stars[i];
                    m_Stars[i].Display(star.actived);
                    if (star.newGet)
                    {
                        m_Stars[i].PlayEffect();
                    }
                }
                else
                {
                    m_Stars[i].Hide();
                }
            }
        }
        private void ViewEquipTip()
        {
            var level = model.selectedLevel.value;
@@ -440,11 +456,12 @@
        }
        [System.Serializable]
        public class ImageCouple
        public class Star
        {
            public RectTransform container;
            public Image imageBase;
            public Image imageStar;
            public UIEffect newStarEffect;
            public void Display(bool active)
            {
@@ -456,6 +473,11 @@
            {
                container.gameObject.SetActive(false);
            }
            public void PlayEffect()
            {
                newStarEffect.Play();
            }
        }
        [System.Serializable]