| System/Alchemy/AlchemyDrugWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Alchemy/AlchemyModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/HazyRegion/HazyRegionIncidentBehaviour.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/HazyRegion/HazyRegionIncidentPanel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/HazyRegion/HazyRegionModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/RidingPet/RidingPetContentionWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Role/ReikiFuncOpenWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Role/ReikiRootWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Tip/PromoteDetailsWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
System/Alchemy/AlchemyDrugWin.cs
@@ -40,6 +40,11 @@ SetDefaultSelect(); model.jumpAlchemy = 0; } protected override void OnActived() { base.OnActived(); m_AlchemyScroll.Display((int)m_AlchemyType); DisplayAlchmey(); @@ -98,7 +103,21 @@ } } } foreach (var quality in qualities) { var alchemys = AlchemyConfig.GetAlchemies((int)m_AlchemyType, quality); foreach (var alchemyId in alchemys) { var redpointId = model.GetAlchemyRedpointId(alchemyId); if (RedpointCenter.Instance.GetRedpointState(redpointId) == RedPointState.Simple) { model.selectQuality = quality; model.selectAlchemy = alchemyId; return; } } } { model.selectQuality = qualities.First(); System/Alchemy/AlchemyModel.cs
@@ -596,7 +596,7 @@ } } if (alchemyable) if (alchemyable && alchemyType == AlchemyType.Normal) { break; } System/HazyRegion/HazyRegionIncidentBehaviour.cs
@@ -27,6 +27,8 @@ [SerializeField] Transform m_ContainerSelect; [SerializeField] Button m_Select; [SerializeField] Transform m_RedpointSign; [Header("Boss")] [SerializeField] Transform m_ContainerBoss; [SerializeField] Text m_BossName; @@ -64,6 +66,20 @@ } } bool m_RedpointAble = false; bool redpointAble { get { return m_RedpointAble; } set { if (m_RedpointAble != value) { m_RedpointAble = value; DisplayRedpointSign(); } } } float timer = 0f; HazyRegionIncidentType incidentType = HazyRegionIncidentType.Adventure; @@ -87,11 +103,15 @@ m_BossAlive = findPreciousModel.IsBossAlive(config.npcId); } var error = 0; redpointAble = model.TryGotoIncident(incidentId, false, out error); DisplayBase(); DisplayItems(); DisplayState(); DisplaySelect(); DisplayBoss(); DisplayRedpointSign(); model.selectIncidentRefresh -= SelectIncidentRefresh; model.selectIncidentRefresh += SelectIncidentRefresh; @@ -215,6 +235,11 @@ } } void DisplayRedpointSign() { m_RedpointSign.gameObject.SetActive(redpointAble); } private void LateUpdate() { timer += Time.deltaTime; @@ -231,6 +256,9 @@ var config = HazyRegionConfig.Get(incidentId); bossAlive = findPreciousModel.IsBossAlive(config.npcId); } var error = 0; redpointAble = model.TryGotoIncident(incidentId, false, out error); } } System/HazyRegion/HazyRegionIncidentPanel.cs
@@ -174,30 +174,13 @@ private void DisplayGotoState() { var questState = dailyQuestModel.GetQuestState((int)DailyQuestType.HazyRegion); m_Goto.SetColorful(m_GotoLabel, questState != DailyQuestModel.DailyQuestState.OutTime); m_Goto.SetColorful(m_GotoLabel, questState != DailyQuestModel.DailyQuestState.OutTime || model.InFakeHazyRegion); } private void Goto() { var questState = dailyQuestModel.GetQuestState((int)DailyQuestType.HazyRegion); if (questState == DailyQuestModel.DailyQuestState.OutTime) { DailyQuestOpenTime dailyQuestOpenTime; if (dailyQuestModel.TryGetOpenTime((int)DailyQuestType.HazyRegion, out dailyQuestOpenTime)) { HourMinute hourMinute; if (dailyQuestOpenTime.TryGetTodayNearestOpenTime(out hourMinute)) { SysNotifyMgr.Instance.ShowTip("OpenHazyRegionError_1", hourMinute.hourBegin.ToString("D2"), hourMinute.hourEnd.ToString("D2")); } } return; } var error = 0; if (!model.TryGotoIncident(model.selectIncident, out error)) if (!model.TryGotoIncident(model.selectIncident, true, out error)) { model.DisplayErrorRemind(error); } System/HazyRegion/HazyRegionModel.cs
@@ -48,6 +48,10 @@ } } public readonly Redpoint redpoint = new Redpoint(213, 21303); readonly Redpoint entranceRedpoint = new Redpoint(21303, 2130301); readonly Redpoint incidentRedpoint = new Redpoint(21303, 2130302); int cacheMapId = 0; public event Action selectIncidentRefresh; @@ -68,6 +72,8 @@ StageLoad.Instance.onStageLoadFinish += OnStageLoadFinish; AdventureStage.Instance.onLoadAdventureStage += OnLoadAdventureStage; AdventureStage.Instance.onExitAdventureStage += OnExitAdventureStage; findPreciousModel.bossInfoUpdateEvent += BossInfoUpdateEvent; DailyQuestActionTimer.Instance.RefreshDailyQuestState += RefreshDailyQuestState; } public void OnBeforePlayerDataInitialize() @@ -88,6 +94,8 @@ { ClientDungeonStageUtility.RequestStartClientDungeon(0, 0); } UpdateRedpoint(); } public override void UnInit() @@ -95,6 +103,8 @@ StageLoad.Instance.onStageLoadFinish -= OnStageLoadFinish; AdventureStage.Instance.onExitAdventureStage -= OnExitAdventureStage; AdventureStage.Instance.onLoadAdventureStage -= OnLoadAdventureStage; findPreciousModel.bossInfoUpdateEvent -= BossInfoUpdateEvent; DailyQuestActionTimer.Instance.RefreshDailyQuestState -= RefreshDailyQuestState; } private void OnLoadAdventureStage() @@ -132,6 +142,22 @@ } } private void BossInfoUpdateEvent(int obj) { if (isServerPrepare) { UpdateRedpoint(); } } private void RefreshDailyQuestState() { if (isServerPrepare) { UpdateRedpoint(); } } IEnumerator Co_TryOpenHazyRegionWin() { yield return WaitingForSecondConst.WaitMS1000; @@ -161,7 +187,7 @@ return m_Incidents.TryGetValue(id, out incident); } public bool TryGotoIncident(int id, out int error) public bool TryGotoIncident(int id, bool careDungeon, out int error) { error = 0; var config = HazyRegionConfig.Get(id); @@ -169,7 +195,16 @@ { return false; } if (!TryGotoDungeon(id, out error)) if (!InFakeHazyRegion) { var questState = dailyQuestModel.GetQuestState((int)DailyQuestType.HazyRegion); if (questState == DailyQuestModel.DailyQuestState.OutTime) { error = 6; return false; } } if (careDungeon && !TryGotoDungeon(id, out error)) { return false; } @@ -334,6 +369,19 @@ break; case 5: SysNotifyMgr.Instance.ShowTip("EnterHazyIncidentError_5"); break; case 6: DailyQuestOpenTime dailyQuestOpenTime; if (dailyQuestModel.TryGetOpenTime((int)DailyQuestType.HazyRegion, out dailyQuestOpenTime)) { HourMinute hourMinute; if (dailyQuestOpenTime.TryGetTodayNearestOpenTime(out hourMinute)) { SysNotifyMgr.Instance.ShowTip("OpenHazyRegionError_1", hourMinute.hourBegin.ToString("D2"), hourMinute.hourEnd.ToString("D2")); } } break; } } @@ -522,6 +570,11 @@ onHazyRegionStateRefresh(2); } } if (isServerPrepare) { UpdateRedpoint(); } } public void ReceivePackage(HA307_tagMCFairyAdventuresInfo package) @@ -539,6 +592,40 @@ } } void UpdateRedpoint() { var satisfyEntrance = false; var satisfyIncident = false; if (FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.HazyRegion) || InFakeHazyRegion) { if (InFakeHazyRegion) { satisfyEntrance = satisfyFakeOpen; } else { var questState = dailyQuestModel.GetQuestState((int)DailyQuestType.HazyRegion); satisfyEntrance = !playing && questState == DailyQuestModel.DailyQuestState.Normal; } if (playing) { var error = 0; foreach (var id in m_Incidents.Keys) { if (TryGotoIncident(id, false, out error)) { satisfyIncident = true; break; } } } } entranceRedpoint.state = satisfyEntrance ? RedPointState.Simple : RedPointState.None; incidentRedpoint.state = satisfyIncident ? RedPointState.Simple : RedPointState.None; } public enum IncidentState { UnStart = 1, System/RidingPet/RidingPetContentionWin.cs
@@ -8,7 +8,9 @@ public class RidingPetContentionWin : Window { [SerializeField] Button m_MountsGoToButton; [SerializeField] Text m_MountGotoLabel; [SerializeField] Button m_SpiritPetGoToButton; [SerializeField] Text m_PetGotoLabel; [SerializeField] ContainerRidingPet m_ContainerMounts; [SerializeField] ContainerRidingPet m_ContainerSpiritPet; [SerializeField] RidingPetBottomTip m_RidingPetBottomTip; @@ -105,14 +107,14 @@ case DailyQuestModel.DailyQuestState.Normal: m_ContainerMounts.DisplaySpiritPetHP(); m_ContainerSpiritPet.DisplaySpiritPetHP(); m_MountsGoToButton.interactable = true; m_SpiritPetGoToButton.interactable = true; m_MountsGoToButton.SetInteractable(m_MountGotoLabel, true); m_SpiritPetGoToButton.SetInteractable(m_PetGotoLabel, true); break; default: m_ContainerMounts.DisplayActivityTime(); m_ContainerSpiritPet.DisplayActivityTime(); m_MountsGoToButton.interactable = false; m_SpiritPetGoToButton.interactable = false; m_MountsGoToButton.SetInteractable(m_MountGotoLabel, false); m_SpiritPetGoToButton.SetInteractable(m_PetGotoLabel, false); break; } } System/Role/ReikiFuncOpenWin.cs
@@ -15,7 +15,17 @@ public class ReikiFuncOpenWin : Window { [SerializeField] UIAlphaTween m_AlphaTween; [SerializeField] UIAlphaTween m_AlphaTween1; [SerializeField] PositionTween m_PositionTween; [SerializeField] Transform m_ContainerReikiIcon; [SerializeField] Transform m_ContainerFly; [SerializeField] UIEffect m_Effect; [SerializeField] Transform[] m_FlyIcons; [SerializeField] float m_OpenTime = 2f; bool displayAnimation = false; public static Action onFlyComplete; float timer = 0f; #region Built-in @@ -29,10 +39,15 @@ protected override void OnPreOpen() { m_OpenTime = Mathf.Max(2f, m_OpenTime); timer = 0f; displayAnimation = false; m_PositionTween.SetStartState(); m_AlphaTween.SetStartState(); m_AlphaTween1.SetStartState(); m_ContainerReikiIcon.gameObject.SetActive(true); m_ContainerFly.gameObject.SetActive(false); } protected override void OnAfterOpen() @@ -41,6 +56,7 @@ protected override void OnPreClose() { StopAllCoroutines(); } protected override void OnAfterClose() @@ -50,13 +66,14 @@ protected override void LateUpdate() { base.LateUpdate(); if (timer >= m_OpenTime) if (displayAnimation) { return; } timer += Time.deltaTime; if (timer >= m_OpenTime) { displayAnimation = true; StartAnimation(); } } @@ -64,7 +81,57 @@ void StartAnimation() { m_AlphaTween.Play(CloseClick); m_PositionTween.Play(PositionTweenComplete); } private void PositionTweenComplete() { m_AlphaTween.Play(); m_AlphaTween1.Play(); StartCoroutine(Co_Fly()); } IEnumerator Co_Fly() { yield return WaitingForSecondConst.GetWaitForSeconds(m_AlphaTween.delay); m_Effect.Play(); yield return null; m_ContainerReikiIcon.gameObject.SetActive(false); m_ContainerFly.gameObject.SetActive(true); var parent = m_Effect.target.transform.Find("Animation/B/JIN"); SetParent(m_FlyIcons[0], parent, Vector3.one); parent = m_Effect.target.transform.Find("Animation/B/MU"); SetParent(m_FlyIcons[1], parent, Vector3.one); parent = m_Effect.target.transform.Find("Animation/B/SHUI"); SetParent(m_FlyIcons[2], parent, Vector3.one); parent = m_Effect.target.transform.Find("Animation/B/HUO"); SetParent(m_FlyIcons[3], parent, Vector3.one); parent = m_Effect.target.transform.Find("Animation/B/TU"); SetParent(m_FlyIcons[4], parent, Vector3.one); yield return WaitingForSecondConst.WaitMS500; for (int i = 0; i < m_FlyIcons.Length; i++) { SetParent(m_FlyIcons[i], m_ContainerFly, Vector3.zero); } yield return WaitingForSecondConst.WaitMS800; if (onFlyComplete != null) { onFlyComplete(); } yield return WaitingForSecondConst.WaitMS2000; CloseClick(); } void SetParent(Transform source, Transform dest, Vector3 scale) { source.SetParentEx(dest, Vector3.zero, Quaternion.identity, scale); } } System/Role/ReikiRootWin.cs
@@ -64,8 +64,11 @@ if (i < model.reikiRoots.Count) { m_ReikiRootPoints[i].Display(this, model.reikiRoots[i]); m_ReikiRootPoints[i].gameObject.SetActive(!model.displayOpenAnimation); } } ReikiFuncOpenWin.onFlyComplete += OnFlyComplete; m_NumKeyboard.gameObject.SetActive(false); @@ -88,10 +91,13 @@ { model.onCacheFreePointRefresh -= OnCacheFreePointRefresh; PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefreshEvent; ReikiFuncOpenWin.onFlyComplete -= OnFlyComplete; for (int i = 0; i < m_ReikiRootPoints.Count; i++) { m_ReikiRootPoints[i].Dispose(); } StopAllCoroutines(); } protected override void OnAfterClose() @@ -258,6 +264,20 @@ WindowCenter.Instance.Open<ReikiRootRuleWin>(); } private void OnFlyComplete() { StartCoroutine(Co_DisplayReikis()); } IEnumerator Co_DisplayReikis() { for (int i = 0; i < m_ReikiRootPoints.Count; i++) { m_ReikiRootPoints[i].gameObject.SetActive(true); yield return WaitingForSecondConst.WaitMS100; } } private void OnCacheFreePointRefresh() { DisplayFreePoint(); System/Tip/PromoteDetailsWin.cs
@@ -81,13 +81,13 @@ WindowCenter.Instance.Open<RolePanel>(false, 1); break; case RolePromoteModel.PromoteDetailType.EquipStrength: //WindowCenter.Instance.Open<EquipReinforceWin>(); WindowCenter.Instance.Open<EquipFrameWin>(false, 0); break; case RolePromoteModel.PromoteDetailType.Mount: WindowCenter.Instance.Open<PetWin>(false, 1); WindowCenter.Instance.Open<PetWin>(false, 0); break; case RolePromoteModel.PromoteDetailType.Pet: WindowCenter.Instance.Open<PetWin>(); WindowCenter.Instance.Open<PetWin>(false, 1); break; case RolePromoteModel.PromoteDetailType.RuneMosaic: WindowCenter.Instance.Open<RunePanel>(); @@ -101,13 +101,13 @@ WindowCenter.Instance.Open<RolePromoteWin>(); break; case RolePromoteModel.PromoteDetailType.Wash: //WindowCenter.Instance.Open<EquipReinforceWin>(false, 3); WindowCenter.Instance.Open<EquipFrameWin>(false, 2); break; case RolePromoteModel.PromoteDetailType.FairyHeart: WindowCenter.Instance.Open<MethodToWin>(); break; case RolePromoteModel.PromoteDetailType.Gem: //WindowCenter.Instance.Open<EquipReinforceWin>(false, 1); WindowCenter.Instance.Open<EquipFrameWin>(false, 1); break; case RolePromoteModel.PromoteDetailType.BlastFurnace: WindowCenter.Instance.Open<AlchemyBaseWin>(false, 2);