少年修仙传客户端代码仓库
hch
2024-12-18 0cb75a653a646d4afc3b656985b9964efec93032
System/RuneTower/RuneTowerModel.cs
@@ -103,9 +103,24 @@
        public event Action<int> selectedFloorEvent;
        public event Action<int> sweepBoughtTimesChangeEvent;
        public event Action<int> OnFlashOverEvent;
        int lastFlashOverState;
        public void OnFlashOver(int state)
        {
            if (lastFlashOverState + 1 != state)
                return;
            lastFlashOverState = state;
            if (lastFlashOverState == 2)
                lastFlashOverState = 0;
            if (OnFlashOverEvent != null)
                OnFlashOverEvent(state);
        }
        RuneModel runeModel { get { return ModelCenter.Instance.GetModel<RuneModel>(); } }
        DailyQuestModel dailyModel { get { return ModelCenter.Instance.GetModel<DailyQuestModel>(); } }
        DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
        Redpoint towerRedpoint = new Redpoint(37);
        Redpoint runeRedpoint = new Redpoint(37, 37002);
@@ -358,15 +373,38 @@
            if (serverInited && runeModel.passRuneTowerFloor != 0)
            {
                var config = RuneTowerFloorConfig.Get((int)runeModel.passRuneTowerFloor);
                if (!allTowerCompleted && config.TowerId != currentTower && config.TowerId > showedUnLockTower)
                {
                    wannaShowUnlockTower = config.TowerId;
                }
            }
            if (dungeonModel.dungeonResult.quickPass == 1 && dungeonModel.dungeonResult.dataMapID == RUNETOWER_MAPID)
                return;
            if (serverInited && runeModel.passRuneTowerFloor != 0)
            {
                var config = RuneTowerFloorConfig.Get((int)runeModel.passRuneTowerFloor);
                if (config.UnLockRune > 0 && runeModel.passRuneTowerFloor > showedPassFloor)
                {
                    wannaShowPassFloor = runeModel.passRuneTowerFloor;
                    PopupWindowsProcessor.Instance.Add("RuneNewGotWin");
                }
            }
                if (!allTowerCompleted && config.TowerId != currentTower && config.TowerId > showedUnLockTower)
        }
        //立即显示
        public void OnPassNewTowerFloorShowImme()
        {
            if (serverInited && runeModel.passRuneTowerFloor != 0)
            {
                var config = RuneTowerFloorConfig.Get((int)runeModel.passRuneTowerFloor);
                if (config.UnLockRune > 0 && runeModel.passRuneTowerFloor > showedPassFloor)
                {
                    wannaShowUnlockTower = config.TowerId;
                    wannaShowPassFloor = runeModel.passRuneTowerFloor;
                    WindowCenter.Instance.Open<RuneNewGotWin>();
                }
            }
@@ -434,6 +472,7 @@
        public void OnBeforePlayerDataInitialize()
        {
            serverInited = false;
            lastFlashOverState = 0;
        }
        private int RuneCompare(Item _lhs, Item _rhs)