少年修仙传客户端代码仓库
lcy
2024-12-16 a39c35fc6449430cd02bccb681c4a0a880e46cd9
System/LoopAct/CycleHall/CycleHallWin.cs
@@ -8,6 +8,8 @@
    public class CycleHallWin : Window
    {
        [SerializeField] ScrollerController tabScroller;
        [SerializeField] ScrollerController missionScroller;
        [SerializeField] ScrollerController giftScroller;
        [SerializeField] ImageEx imgTitle;
        [SerializeField] ImageEx imgInfo;
@@ -17,7 +19,6 @@
        [SerializeField] ButtonEx btnGo;
        [SerializeField] ButtonEx btnClose;
        [SerializeField] ScrollerController scroller;
        RechargeGiftActModel rechargeGiftActModel { get { return ModelCenter.Instance.GetModel<RechargeGiftActModel>(); } }
        CycleHallActModel model { get { return ModelCenter.Instance.GetModel<CycleHallActModel>(); } }
        StoreModel storeModel { get { return ModelCenter.Instance.GetModel<StoreModel>(); } }
@@ -37,7 +38,8 @@
        {
            GlobalTimeEvent.Instance.secondEvent += SecondEvent;
            tabScroller.OnRefreshCell += OnScrollerRefreshTabCell;
            scroller.OnRefreshCell += OnScrollerRefreshCell;
            missionScroller.OnRefreshCell += OnScrollerRefreshMissionCell;
            giftScroller.OnRefreshCell += OnScrollerRefreshGiftCell;
            model.onNowTabIdUpdate += OnNowTabIdUpdate;
            vipModel.rechargeCountEvent += VipModel_rechargeCountEvent;
            storeModel.RefreshBuyShopLimitEvent += RefreshBuyShopLimitEvent;
@@ -50,7 +52,7 @@
            }
            else
            {
                model.nowTabId = int.Parse(CycleHallConfig.GetKeys()[0]);
                WindowCenter.Instance.Close<CycleHallWin>();
            }
            Display();
        }
@@ -59,7 +61,8 @@
        {
            GlobalTimeEvent.Instance.secondEvent -= SecondEvent;
            tabScroller.OnRefreshCell -= OnScrollerRefreshTabCell;
            scroller.OnRefreshCell -= OnScrollerRefreshCell;
            missionScroller.OnRefreshCell -= OnScrollerRefreshMissionCell;
            giftScroller.OnRefreshCell -= OnScrollerRefreshGiftCell;
            model.onNowTabIdUpdate -= OnNowTabIdUpdate;
            vipModel.rechargeCountEvent -= VipModel_rechargeCountEvent;
            storeModel.RefreshBuyShopLimitEvent -= RefreshBuyShopLimitEvent;
@@ -72,7 +75,8 @@
            if (operation == Operation.default47)
            {
                tabScroller.m_Scorller.RefreshActiveCellViews();
                scroller.m_Scorller.RefreshActiveCellViews();
                missionScroller.m_Scorller.RefreshActiveCellViews();
                giftScroller.m_Scorller.RefreshActiveCellViews();
                Display();
            }
        }
@@ -80,19 +84,20 @@
        private void OnUpdatePlayerInfoAction()
        {
            tabScroller.m_Scorller.RefreshActiveCellViews();
            scroller.m_Scorller.RefreshActiveCellViews();
            missionScroller.m_Scorller.RefreshActiveCellViews();
            giftScroller.m_Scorller.RefreshActiveCellViews();
            Display();
        }
        private void RefreshBuyShopLimitEvent()
        {
            scroller.m_Scorller.RefreshActiveCellViews();
            giftScroller.m_Scorller.RefreshActiveCellViews();
            model.IsPlayAnimation = true;
        }
        private void VipModel_rechargeCountEvent(int obj)
        {
            scroller.m_Scorller.RefreshActiveCellViews();
            giftScroller.m_Scorller.RefreshActiveCellViews();
            model.IsPlayAnimation = true;
        }
@@ -100,7 +105,8 @@
        {
            tabScroller.m_Scorller.RefreshActiveCellViews();
            CreateScroller();
            scroller.JumpIndex(JumpIndex());
            missionScroller.JumpIndex(JumpMissionIndex());
            giftScroller.JumpIndex(JumpGiftIndex());
            Display();
        }
@@ -110,11 +116,17 @@
            _cell.Display(_cell.index);
        }
        private void OnScrollerRefreshCell(ScrollerDataType type, CellView cell)
        private void OnScrollerRefreshMissionCell(ScrollerDataType type, CellView cell)
        {
            var _cell = cell as CycleHallCell;
            var _cell = cell as CycleHallMissionCell;
            _cell.Display(_cell.index, cell);
            model.IsPlayAnimation = true;
        }
        private void OnScrollerRefreshGiftCell(ScrollerDataType type, CellView cell)
        {
            var _cell = cell as CycleHallGiftCell;
            _cell.Display(_cell.index, cell);
        }
        protected override void OnAfterOpen()
@@ -122,7 +134,8 @@
            CreateTabScroller();
            tabScroller.JumpIndex(JumpTabIndex());
            CreateScroller();
            scroller.JumpIndex(JumpIndex());
            missionScroller.JumpIndex(JumpMissionIndex());
            giftScroller.JumpIndex(JumpGiftIndex());
        }
        protected override void OnAfterClose()
@@ -179,6 +192,8 @@
        private void CreateScroller()
        {
            missionScroller.SetActive(false);
            giftScroller.SetActive(false);
            int id = model.nowTabId;
            if (!CycleHallConfig.Has(id))
                return;
@@ -189,20 +204,22 @@
            if (config.TabType == 1)
            {
                scroller.Refresh();
                missionScroller.SetActive(true);
                missionScroller.Refresh();
                var act = model.GetOperationInfo();
                if (act != null && act.TryGetRound(config.RoundType, out var round) && round.AwardList != null)
                {
                    for (int i = 0; i < round.AwardList.Length; i++)
                    {
                        scroller.AddCell(ScrollerDataType.Header, i, cellInfo);
                        missionScroller.AddCell(ScrollerDataType.Header, i, cellInfo);
                    }
                }
                scroller.Restart();
                missionScroller.Restart();
            }
            else if (config.TabType == 2)
            {
                scroller.Refresh();
                giftScroller.SetActive(true);
                giftScroller.Refresh();
                var act = model.GetOperationInfo();
                if (act != null && act.TryGetRound(config.RoundType, out var round) && round.CTGIDList != null)
                {
@@ -211,10 +228,10 @@
                    int totaleCnt = (_list == null ? 0 : _list.Count) + round.CTGIDList.Length;
                    for (int i = 0; i < totaleCnt; i++)
                    {
                        scroller.AddCell(ScrollerDataType.Header, i, cellInfo);
                        giftScroller.AddCell(ScrollerDataType.Header, i, cellInfo);
                    }
                }
                scroller.Restart();
                giftScroller.Restart();
            }
        }
@@ -285,23 +302,6 @@
                        }
                    }
                }
            }
            return 0;
        }
        private int JumpIndex()
        {
            int id = model.nowTabId;
            if (!CycleHallConfig.Has(id))
                return 0;
            CycleHallConfig config = CycleHallConfig.Get(id);
            if (config.TabType == 1)
            {
                return JumpMissionIndex();
            }
            else if (config.TabType == 2)
            {
                return JumpGiftIndex();
            }
            return 0;
        }