少年修仙传客户端代码仓库
hch
2024-12-18 0cb75a653a646d4afc3b656985b9964efec93032
System/SkyTower/SkyTowerFloorBehaviour.cs
@@ -19,11 +19,14 @@
        [SerializeField] Image m_Cover;
        [SerializeField] RectTransform m_ContainerSelected;
        [SerializeField] UIEffect m_GateEffect;
        [SerializeField] UIFrame m_FlashFrame;
        [SerializeField] PositionTween m_FloorTween;
        RectTransform m_RectTransform;
        RectTransform rectTransform { get { return m_RectTransform ?? (this.transform as RectTransform); } }
        SkyTowerModel model { get { return ModelCenter.Instance.GetModel<SkyTowerModel>(); } }
        DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
        int floorId = 0;
        public void Display(int _floorId)
@@ -34,12 +37,21 @@
            m_FloorName.text = config.floorName;
            m_Cover.SetActive(this.model.currentFloor > this.floorId);
            m_FloorTween.SetStartState();
            m_FloorTween.Stop();
            m_FlashFrame.SetActive(false);
            dungeonModel.onDungeonResultEvent -= OnDungeonResultEvent;
            if (this.model.currentFloor == this.floorId)
            {
                //m_GateEffect.Play();
                m_Challenge.SetActive(true);
                m_ContainerSelected.SetActive(true);
                m_FloorName.color = UIHelper.GetUIColor(TextColType.NavyYellow);
                if (dungeonModel.CanFlashKill())
                {
                    dungeonModel.onDungeonResultEvent += OnDungeonResultEvent;
                }
            }
            else
            {
@@ -54,7 +66,24 @@
        {
        }
        private void OnDisable()
        {
            dungeonModel.onDungeonResultEvent -= OnDungeonResultEvent;
            StopAllCoroutines();
        }
        private void OnDungeonResultEvent()
        {
            if (dungeonModel.dungeonResult.quickPass == 1 && dungeonModel.dungeonResult.dataMapID == SkyTowerModel.DATA_MAPID)
            {
                m_FlashFrame.SetActive(true);
                m_FloorTween.Play(() => {
                    m_FlashFrame.SetActive(false);
                    model.OnFlashOver(1);
                });
                SoundPlayer.Instance.PlayUIAudio(857);
            }
        }
    }
}