少年修仙传客户端代码仓库
client_Wu Xijin
2018-09-10 5e68f023a7ddd15f2e650dd03761b4e8bba1b4af
3379 【前端】符印塔扫荡动画点空白处跳过动画,直接显示最终结果
1个文件已修改
37 ■■■■ 已修改文件
System/RuneTower/RuneTowerSweepResultWin.cs 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/RuneTower/RuneTowerSweepResultWin.cs
@@ -15,6 +15,7 @@
    public class RuneTowerSweepResultWin : Window
    {
        [SerializeField] Button m_Skip;
        [SerializeField] Text m_Title;
        [SerializeField] ScrollRect m_ResultScrollRect;
        [SerializeField] Button m_Close;
@@ -29,6 +30,7 @@
        float floorHeight = 0;
        float totalResultHeight = 0;
        bool skip = false;
        #region Built-in
        protected override void BindController()
@@ -39,10 +41,12 @@
        {
            m_Close.AddListener(CloseClick);
            m_Continue.AddListener(Continue);
            m_Skip.AddListener(Skip);
        }
        protected override void OnPreOpen()
        {
            skip = false;
            m_Close.gameObject.SetActive(false);
            m_Continue.gameObject.SetActive(false);
        }
@@ -72,7 +76,7 @@
        private void ShowResults()
        {
            m_Title.text = Language.Get("RuneTowerSweepText9");
            GeneSweepResultBehaviours(m_ResultScrollRect.content, runeTowerModel.towerSweepResults.Count);
            GenerateSweepResultBehaviours(m_ResultScrollRect.content, runeTowerModel.towerSweepResults.Count);
            for (int i = 0; i < resultBehavioursBuf.Count; i++)
            {
                var behaviour = resultBehavioursBuf[i];
@@ -100,7 +104,7 @@
            StartCoroutine("Co_ShowResultTowerByTower");
        }
        private void GeneSweepResultBehaviours(Transform _parent, int _needCount)
        private void GenerateSweepResultBehaviours(Transform _parent, int _needCount)
        {
            var currentCount = resultBehavioursBuf.Count;
            if (_needCount > currentCount)
@@ -120,7 +124,7 @@
        IEnumerator Co_ShowResultTowerByTower()
        {
            var raycastFilter = this.AddMissingComponent<CanvasRaycastFilter>();
            var raycastFilter = m_ResultScrollRect.AddMissingComponent<CanvasRaycastFilter>();
            raycastFilter.raycastTarget = false;
            foreach (var behaviour in resultBehavioursBuf)
@@ -169,10 +173,23 @@
                    m_ResultScrollRect.content.anchoredPosition = m_ResultScrollRect.content.anchoredPosition.SetY(end);
                }
                if (skip)
                {
                    break;
                }
                yield return WaitingForSecondConst.WaitMS500;
            }
            yield return null;
            for (int i = 0; i < count; i++)
            {
                resultBehavioursBuf[i].transform.localScale = Vector3.one;
            }
            if (!skip)
            {
                yield return null;
            }
            resultTotalBehaviour.transform.localScale = Vector3.one;
            resultTotalBehaviour.UpdateSizeAndPosition();
@@ -191,11 +208,16 @@
                {
                    m_ResultScrollRect.content.anchoredPosition = m_ResultScrollRect.content.anchoredPosition.SetY(y);
                }
                if (skip)
                {
                    break;
                }
                yield return null;
            }
            m_ResultScrollRect.content.anchoredPosition = m_ResultScrollRect.content.anchoredPosition.SetY(end);
            foreach (var behaviour in resultBehavioursBuf)
            {
                behaviour.interactable = true;
@@ -215,6 +237,11 @@
            WindowCenter.Instance.Open<RuneTowerSweepBuyWin>();
        }
        private void Skip()
        {
            skip = true;
        }
    }
}