少年修仙传客户端代码仓库
client_Wu Xijin
2019-01-28 7398c01d291129649facf3428fd447ed502e6241
6090 【前端】【1.5.200】诛仙塔优化
2个文件已修改
138 ■■■■ 已修改文件
Fight/Stage/Dungeon/JadeDynastyTowerDungeonStage.cs 117 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/JadeDynastyTower/JadyDynastyTowerVictoryWin.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Stage/Dungeon/JadeDynastyTowerDungeonStage.cs
@@ -17,10 +17,26 @@
    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();
    }
@@ -28,30 +44,97 @@
    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;
    }
}
System/JadeDynastyTower/JadyDynastyTowerVictoryWin.cs
@@ -70,25 +70,8 @@
        protected override void DrawExitTimer(int seconds)
        {
            if (dungeonModel.dungeonResult.grade == 5)
            {
                m_AwardTimer.text = Language.Get("JadeDynastyRewardTime", Mathf.Clamp(seconds, 0, int.MaxValue));
                m_ExitTimer.text = Language.Get("DemonDungeonExit");
            }
            else
            {
                m_AwardTimer.text = Language.Get("CoinTaskWin_Btn_Receive");
                m_ExitTimer.text = Language.Get("DungeonVictoryWin_Btn_Exit_1", Mathf.Clamp(seconds, 0, int.MaxValue));
            }
        }
        private void ChallengeNextRuneTower()
        {
            var dungeonStage = StageManager.Instance.CurrentStage as JadeDynastyTowerDungeonStage;
            dungeonStage.PerformChallengeNextLevel();
            dungeonModel.UpdateCoolDown(DungeonCoolDownType.LeaveMap, 0);
            dungeonModel.UpdateCoolDown(DungeonCoolDownType.TowerTake, 0);
            CloseClick();
            m_AwardTimer.text = Language.Get("JadeDynastyRewardTime", Mathf.Clamp(seconds, 0, int.MaxValue));
            m_ExitTimer.text = Language.Get("DemonDungeonExit");
        }
        private void DisplayAwardAndExitButton()