| | |
| | | public override void Initialize() |
| | | { |
| | | base.Initialize(); |
| | | |
| | | var sceneRoot = GameObject.Find("Map113_Zxt"); |
| | | if (sceneRoot != null) |
| | | { |
| | | m_TowerAnimator = sceneRoot.GetComponent<Animator>("Effect/wall"); |
| | | m_ShowCamera = sceneRoot.GetComponent<Camera>("Effect/wall/Camera_Show"); |
| | | m_ShowCamera.backgroundColor = CameraController.Instance.CameraObject.backgroundColor; |
| | | |
| | | m_ShowCamera.gameObject.SetActive(false); |
| | | |
| | | defaultShowCameraPosition = m_ShowCamera.transform.position; |
| | | defaultShowCameraRotation = m_ShowCamera.transform.rotation; |
| | | defaultFov = m_ShowCamera.fieldOfView; |
| | | } |
| | | } |
| | | |
| | | public override void UnInitialize() |
| | | { |
| | | CameraController.Instance.CameraObject.enabled = true; |
| | | CameraManager.uiCamera.enabled = true; |
| | | StopAllCoroutines(); |
| | | base.UnInitialize(); |
| | | } |
| | |
| | | protected override void OnStageLoadFinish() |
| | | { |
| | | base.OnStageLoadFinish(); |
| | | WindowCenter.Instance.Open<JadeDynastyTowerHintWin>(); |
| | | |
| | | var isBottom = model.IsBottomFloor(model.currentFloor); |
| | | |
| | | if (!isBottom && model.currentFloor > model.highestPassFloor) |
| | | { |
| | | PerformChallengeNextLevel(); |
| | | } |
| | | else |
| | | { |
| | | model.RequestRefreshMonster(); |
| | | } |
| | | } |
| | | |
| | | public void PerformChallengeNextLevel() |
| | | void PerformChallengeNextLevel() |
| | | { |
| | | WindowCenter.Instance.Close<DungeonGradeWin>(); |
| | | WindowCenter.Instance.Close<MapNameHintWin>(); |
| | | WindowCenter.Instance.Close<JadeDynastyTowerHintWin>(); |
| | | WindowCenter.Instance.Close<DemonJarBossLifeBarWin>(); |
| | | |
| | | model.RequestRefreshMonster(); |
| | | StartCoroutine("Co_PerformChallengeNextLevel"); |
| | | } |
| | | |
| | | if (PlayerDatas.Instance.hero != null) |
| | | IEnumerator Co_PerformChallengeNextLevel() |
| | | { |
| | | WindowCenter.Instance.Close<JadeDynastyTowerHintWin>(); |
| | | SoundPlayer.Instance.PlayBackGroundMusicOneShot(258); |
| | | var config = Config.Instance.Get<JadeDynastyTowerConfig>(model.currentFloor); |
| | | |
| | | if (config != null && config.floorIndex > 1) |
| | | { |
| | | PlayerDatas.Instance.hero.Behaviour.StartHandupAI(); |
| | | m_ShowCamera.gameObject.SetActive(true); |
| | | CameraController.Instance.CameraObject.enabled = false; |
| | | CameraManager.uiCamera.enabled = false; |
| | | |
| | | m_ShowCamera.transform.position = CameraController.Instance.CameraObject.transform.position; |
| | | m_ShowCamera.transform.rotation = CameraController.Instance.CameraObject.transform.rotation; |
| | | m_ShowCamera.fieldOfView = CameraController.Instance.CameraObject.fieldOfView; |
| | | |
| | | yield return StartCoroutine(Co_CameraLerpTo(m_ShowCamera, defaultShowCameraPosition, defaultShowCameraRotation, defaultFov)); |
| | | |
| | | if (m_TowerAnimator != null) |
| | | { |
| | | m_TowerAnimator.Play("Fyt_fx_ani_move", 0, 0f); |
| | | } |
| | | |
| | | yield return new WaitForSeconds(3.1f); |
| | | |
| | | yield return StartCoroutine(Co_CameraLerpTo(m_ShowCamera, |
| | | CameraController.Instance.CameraObject.transform.position, |
| | | CameraController.Instance.CameraObject.transform.rotation, |
| | | CameraController.Instance.CameraObject.fieldOfView)); |
| | | |
| | | model.RequestRefreshMonster(); |
| | | |
| | | m_ShowCamera.gameObject.SetActive(false); |
| | | CameraController.Instance.CameraObject.enabled = true; |
| | | CameraManager.uiCamera.enabled = true; |
| | | |
| | | WindowCenter.Instance.Open<DungeonEndCoolDownWin>(); |
| | | if (PlayerDatas.Instance.hero != null) |
| | | { |
| | | PlayerDatas.Instance.hero.Behaviour.StartHandupAI(); |
| | | } |
| | | |
| | | var mapConfig = Config.Instance.Get<MapConfig>(PlayerDatas.Instance.baseData.MapID); |
| | | var mapResConfig = DTCA127_tagMCStartChangeMap.GetMapResourcesConfig(); |
| | | |
| | | SoundPlayer.Instance.PlayBackGroundMusic(mapResConfig.Music); |
| | | WindowCenter.Instance.Open<MapNameHintWin>(); |
| | | WindowCenter.Instance.Open<JadeDynastyTowerHintWin>(); |
| | | } |
| | | |
| | | var mapConfig = Config.Instance.Get<MapConfig>(PlayerDatas.Instance.baseData.MapID); |
| | | var mapResConfig = DTCA127_tagMCStartChangeMap.GetMapResourcesConfig(); |
| | | SoundPlayer.Instance.PlayBackGroundMusic(mapResConfig.Music); |
| | | |
| | | WindowCenter.Instance.Open<DungeonEndCoolDownWin>(); |
| | | WindowCenter.Instance.Open<MapNameHintWin>(); |
| | | WindowCenter.Instance.Open<JadeDynastyTowerHintWin>(); |
| | | } |
| | | |
| | | IEnumerator Co_CameraLerpTo(Camera _camera, Vector3 _toPosition, Quaternion _toRotation, float _toFov) |
| | | { |
| | | var startPosition = _camera.transform.position; |
| | | var startRotation = _camera.transform.rotation; |
| | | var startFov = _camera.fieldOfView; |
| | | |
| | | var timer = 0f; |
| | | var duration = 0.5f; |
| | | |
| | | while (timer < duration) |
| | | { |
| | | timer += Time.deltaTime; |
| | | var t = Mathf.Clamp01(timer / duration); |
| | | |
| | | _camera.transform.position = Vector3.Lerp(startPosition, _toPosition, t); |
| | | _camera.transform.rotation = Quaternion.Lerp(startRotation, _toRotation, t); |
| | | _camera.fieldOfView = Mathf.Lerp(startFov, _toFov, t); |
| | | yield return null; |
| | | } |
| | | |
| | | _camera.transform.position = _toPosition; |
| | | _camera.transform.rotation = _toRotation; |
| | | } |
| | | } |