| System/Realm/RealmAnimationBehaviour.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Realm/RealmBriefBehaviour.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Realm/RealmModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Realm/RealmStageBehaviour.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Realm/RealmWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
System/Realm/RealmAnimationBehaviour.cs
@@ -6,6 +6,9 @@ public class RealmAnimationBehaviour : MonoBehaviour { [SerializeField] float m_Radius = 100f; [SerializeField] float m_Duration = 1f; [SerializeField] TweenCurve m_TweenCurve; [SerializeField] Transform m_ContainerLine; [SerializeField] RealmStageBehaviour[] m_RealmStages; Coroutine m_RotateCoroutine = null; @@ -14,6 +17,7 @@ public void SetDefault() { m_ContainerLine.gameObject.SetActive(false); for (int i = 0; i < m_RealmStages.Length; i++) { m_RealmStages[i].transform.localPosition = GetPointPosition(i); @@ -39,11 +43,6 @@ return new Vector3(_x, _y, _z); } public void DisplayLevelUp(int level) { } void StartRotate() { if (m_RotateCoroutine != null) @@ -55,19 +54,23 @@ IEnumerator Co_Rotate() { var angle = 0f; while (angle < 180f) var timer = 0f; m_ContainerLine.gameObject.SetActive(true); while (timer < m_Duration) { timer += Time.deltaTime; yield return null; angle += 1f; angle = Mathf.Min(180, angle); var t = Mathf.Clamp01(timer / m_Duration); var value = m_TweenCurve.Evaluate(t); var angle = Mathf.LerpUnclamped(0, 180, value); for (int i = 0; i < m_RealmStages.Length; i++) { var cacheAngle = GetPointAngle(i); var cacheAngle = GetPointAngle(m_RealmStages[i].animIndex); var position = GetPointPosition(cacheAngle - angle); m_RealmStages[i].transform.localPosition = position; } } m_ContainerLine.gameObject.SetActive(false); foreach (var realmStage in m_RealmStages) { realmStage.animIndex = (realmStage.animIndex + 4) % 8; System/Realm/RealmBriefBehaviour.cs
@@ -13,7 +13,7 @@ [SerializeField] Transform m_PropertyRoot; [SerializeField] List<PropertyBehaviour> m_Properties; [SerializeField] Transform m_ContainerUnlockEquip; [SerializeField] Text m_UnlockEquip; [SerializeField] Image m_UnlockEquip; [SerializeField] Button m_Preview; int realmLevel = 0; System/Realm/RealmModel.cs
@@ -82,12 +82,22 @@ m_RealmProperties.Add(config.Lv, dict); } if (stages.Contains(config.Lv)) { stages = new List<int>(); m_RealmStages.Add(stages); continue; } stages.Add(config.Lv); if (config.BossID != 0) { stages = new List<int>(); m_RealmStages.Add(stages); var nextConfig = RealmConfig.Get(config.Lv + 1); if (nextConfig != null) { stages.Add(config.Lv + 1); } } } } System/Realm/RealmStageBehaviour.cs
@@ -21,6 +21,11 @@ RealmModel model { get { return ModelCenter.Instance.GetModel<RealmModel>(); } } private void Awake() { m_Select.AddListener(OnSelect); } public void Display(int _realmLv) { this.realmLevel = _realmLv; @@ -57,5 +62,10 @@ { DisplaySelect(); } private void OnSelect() { model.selectRealm = realmLevel; } } } System/Realm/RealmWin.cs
@@ -47,7 +47,12 @@ protected override void OnPreOpen() { PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefreshEvent; model.selectRealmRefresh += SelectRealmRefresh; } protected override void OnActived() { base.OnActived(); Display(); } @@ -58,6 +63,7 @@ protected override void OnPreClose() { PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefreshEvent; model.selectRealmRefresh -= SelectRealmRefresh; } protected override void OnAfterClose() @@ -71,13 +77,24 @@ void Display() { var realmLevel = PlayerDatas.Instance.baseData.realmLevel; if (realmLevel < model.realmMaxLevel) { model.selectRealm = realmLevel + 1; } else { model.selectRealm = realmLevel; } DisplayRealmLevelUp(); DisplayRealmStages(); DisplayRealmBrief(); } void DisplayRealmStages() { var realmLevel = PlayerDatas.Instance.baseData.realmLevel; var stage = model.GetRealmStage(realmLevel < model.realmMaxLevel ? (realmLevel + 1) : realmLevel); var stage = model.GetRealmStage(model.selectRealm); m_RealmAnimation.SetDefault(); List<int> realms = null; if (model.TryGetRealmStages(stage, out realms)) @@ -104,15 +121,20 @@ void DisplayRealmLevelUp() { var realmLevel = PlayerDatas.Instance.baseData.realmLevel; var isMax = realmLevel >= model.realmMaxLevel; m_RealmLevelUp.gameObject.SetActive(!isMax); if (!isMax) var requireLevelUp = model.selectRealm < model.realmMaxLevel && model.selectRealm > realmLevel; m_RealmLevelUp.gameObject.SetActive(requireLevelUp); if (requireLevelUp) { m_RealmLevelUp.Display(realmLevel + 1); m_RealmLevelUp.Display(model.selectRealm); } var config = RealmConfig.Get(realmLevel); m_GotoBoss.gameObject.SetActive(config.BossID != 0); var config = RealmConfig.Get(model.selectRealm - 1); m_GotoBoss.gameObject.SetActive(requireLevelUp && config != null && config.BossID != 0); } void DisplayRealmBrief() { m_RealmBrief.Display(model.selectRealm); } private void PlayerDataRefreshEvent(PlayerDataType dataType) @@ -123,6 +145,12 @@ } } private void SelectRealmRefresh() { DisplayRealmBrief(); DisplayRealmLevelUp(); } private void GotoBoss() { dungeonModel.SingleChallenge(RealmModel.REALM_DUNGEON_ID, 0);