少年修仙传客户端代码仓库
hch
2024-12-18 0cb75a653a646d4afc3b656985b9964efec93032
System/RuneTower/TowerFloorBehaviour.cs
@@ -24,17 +24,21 @@
        [SerializeField] Image m_Cover;
        [SerializeField] RectTransform m_ContainerSelected;
        [SerializeField] UIEffect m_GateEffect;
        [SerializeField] UIFrame m_FlashFrame;
        [SerializeField] PositionTween m_FloorTween;
        public RuneTowerBehaviour towerBehaviour;
        [HideInInspector] public RuneTowerBehaviour towerBehaviour;
        RectTransform m_RectTransform;
        RectTransform rectTransform { get { return m_RectTransform ?? (this.transform as RectTransform); } }
        RuneTowerModel model { get { return ModelCenter.Instance.GetModel<RuneTowerModel>(); } }
        DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
        int floorId = 0;
        public void Display(int _floorId)
        {
            m_FlashFrame.SetActive(false);
            this.floorId = _floorId;
            var isOpened = this.model.currentFloor >= this.floorId;
@@ -54,14 +58,25 @@
            //}
            OnSelected(model.selectedFloor);
            model.selectedFloorEvent -= OnSelected;
            model.selectedFloorEvent += OnSelected;
            dungeonModel.onDungeonResultEvent -= OnDungeonResultEvent;
            //不在塔地图中增加雷诛功能
            if (this.model.currentFloor == this.floorId && dungeonModel.CanFlashKill())
            {
                dungeonModel.onDungeonResultEvent += OnDungeonResultEvent;
            }
        }
        public void Dispose()
        private void OnEnable()
        {
            model.selectedFloorEvent += OnSelected;
        }
        private void OnDisable()
        {
            model.selectedFloorEvent -= OnSelected;
            StopAllCoroutines();
        }
        private void Awake()
        {
@@ -79,6 +94,18 @@
            m_ContainerSelected.SetActive(floorId == _floor);
        }
        private void OnDungeonResultEvent()
        {
            if (dungeonModel.dungeonResult.quickPass == 1 && dungeonModel.dungeonResult.dataMapID == RuneTowerModel.RUNETOWER_MAPID)
            {
                m_FlashFrame.SetActive(true);
                m_FloorTween.Play(() => {
                    m_FlashFrame.SetActive(false);
                    model.OnFlashOver(1);
                });
                SoundPlayer.Instance.PlayUIAudio(857);
            }
        }
    }
}