| System/Realm/RealmAnimationBehaviour.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Realm/RealmLevelUpBehaviour.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Realm/RealmModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Realm/RealmWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
System/Realm/RealmAnimationBehaviour.cs
@@ -14,6 +14,11 @@ [SerializeField] RealmStageBehaviour[] m_RealmStages; [SerializeField] Transform m_ContainerEffectLine; [SerializeField] UIEffect[] m_EffectLines; [SerializeField] UIEffect m_EffectLevelUp; [SerializeField] UIEffect m_EffectBoss; [SerializeField, Header("小境界升级特效时长")] float m_NormalLevelUpEffectTime = 1.5f; [SerializeField, Header("大境界升级特效时长")] float m_SpecialLevelUpEffectTime = 4.5f; Coroutine m_RotateCoroutine = null; @@ -92,6 +97,17 @@ { yield break; } m_EffectBoss.StopImediatly(); m_EffectLevelUp.StopImediatly(); var config = RealmConfig.Get(model.displayRealmLevel - 1); var levelUpEffectId = config.BossID != 0 ? 7037 : 7038; m_EffectLevelUp.effect = levelUpEffectId; m_EffectLevelUp.Play(); var effectTime = config.BossID != 0 ? m_SpecialLevelUpEffectTime : m_NormalLevelUpEffectTime; yield return WaitingForSecondConst.GetWaitForSeconds(effectTime); if (index != -1) { m_EffectLines[index].Play(); @@ -106,10 +122,24 @@ realmStage.DisplayEffect(true); } yield return WaitingForSecondConst.WaitMS500; if (index == 3 && model.displayRealmLevel < model.realmMaxLevel) { StartRotate(); } config = RealmConfig.Get(model.displayRealmLevel); if (config.BossID != 0) { m_EffectBoss.Play(); Animator animator = null; if (m_EffectBoss.target != null) { animator = m_EffectBoss.target.GetAnimator(); animator.Play("Effect_JingJieBJ_02", 0, 0); } } if (onLevelUpComplete != null) { onLevelUpComplete(); @@ -154,7 +184,7 @@ var timer = 0f; m_ContainerLine.gameObject.SetActive(true); bool rotate30 = false; bool rotate45 = false; while (timer < m_Duration) { @@ -164,7 +194,7 @@ var value = m_TweenCurve.Evaluate(t); var angle = Mathf.LerpUnclamped(0, 180, value); if (angle >= 30 && !rotate30) if (angle >= 45 && !rotate45) { foreach (var realmStage in m_RealmStages) { @@ -179,7 +209,7 @@ } } m_EffectLines[0].StopImediatly(); rotate30 = true; rotate45 = true; } for (int i = 0; i < m_RealmStages.Length; i++) System/Realm/RealmLevelUpBehaviour.cs
@@ -62,7 +62,7 @@ public void DisplayCost() { var config = RealmConfig.Get(realmLevel - 1); m_ContainerCost.gameObject.SetActive(config.NeedGood != 0); m_ContainerCost.gameObject.SetActive(config.NeedGood != 0 && config.NeedNum != 0); m_Item.SetItem(config.NeedGood, config.NeedNum); } System/Realm/RealmModel.cs
@@ -214,6 +214,24 @@ return 7028; } public int GetRealmCoverEffect(int realmLevel) { var config = RealmConfig.Get(realmLevel); if (config != null) { switch (config.Quality) { case 1: return 7039; case 2: return 7040; case 3: return 7041; case 4: return 7042; case 5: return 7043; case 6: return 7044; } } return 7039; } public void SendLevelUpRealm() { CA523_tagCMRealmLVUp pak = new CA523_tagCMRealmLVUp(); System/Realm/RealmWin.cs
@@ -29,6 +29,8 @@ [SerializeField] PositionTween m_RealmBriefTween; [SerializeField] PositionTween m_RealmLevelUpTween; [SerializeField] UIEffect m_EffectCover; [SerializeField] UIEffect m_EffectBoss; int cacheRealmLevel = 0; @@ -158,6 +160,8 @@ DisplayRealmStages(); DisplayRealmBrief(); DisplayUnlockEquip(); DisplayCover(); DisplayEffectBoss(); } void HideRealmUp() @@ -261,6 +265,50 @@ } } void DisplayCover() { m_EffectCover.StopImediatly(); if (model.displayRealmLevel == model.realmMaxLevel) { var id = model.GetRealmCoverEffect(model.realmMaxLevel); m_EffectCover.effect = id; m_EffectCover.Play(); } else { var config = RealmConfig.Get(model.displayRealmLevel); var isBossExist = config != null && config.BossID != 0 && !model.isBossPass; if (isBossExist) { return; } var stage = model.GetRealmStage(model.displayRealmLevel); List<int> realms = null; if (model.TryGetRealmStages(stage, out realms)) { var id = model.GetRealmCoverEffect(realms[0]); m_EffectCover.effect = id; m_EffectCover.Play(); } } } void DisplayEffectBoss() { m_EffectBoss.StopImediatly(); var config = RealmConfig.Get(model.displayRealmLevel); if (config.BossID != 0 && !model.isBossPass) { m_EffectBoss.Play(); Animator animator = null; if (m_EffectBoss.target != null) { animator = m_EffectBoss.target.GetAnimator(); animator.Play("Effect_JingJieBJ_021", 0, 1); } } } private void PlayerDataRefreshEvent(PlayerDataType dataType) { if (dataType == PlayerDataType.RealmLevel) @@ -341,6 +389,8 @@ model.selectRealm = model.displayRealmLevel + 1; } DisplayCover(); if (!m_RealmAnimation.rotating) { if (model.displayRealms.Count > 0)