| System/DailyQuest/DailyQuestBehaviour.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/DailyQuest/DailyQuestModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/DailyQuest/DailyQuestWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/DailyQuest/DayQuestDetailsWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| UI/Common/FuncOpen.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
System/DailyQuest/DailyQuestBehaviour.cs
@@ -33,6 +33,7 @@ [SerializeField] Transform m_Locked; [SerializeField] RedpointBehaviour m_RedpointBehaviour; [SerializeField] RedpointBehaviour m_FuncRedpointBehaviour; [SerializeField] UIEffect m_UIEffect; AchievementGuideEffect m_AchievementEffect; @@ -57,6 +58,12 @@ this.gameObject.name = StringUtility.Contact("DailyQuestBehaviour_", data.id); DisplayProgressAndActiveValue(); if(model.IsNewDailyQuest(data.id)) { m_UIEffect.maskArea = this.transform.parent.parent.parent.GetComponent<RectTransform>(); m_UIEffect.Play(); } dailyQuestConfig = DailyQuestConfig.Get(this.data.id); m_Title.text = dailyQuestConfig.Title; m_Icon.SetSprite(dailyQuestConfig.Icon); System/DailyQuest/DailyQuestModel.cs
@@ -100,6 +100,9 @@ } } private List<int> m_newDailyQuestOpenList = new List<int>(); private List<int> m_HasShowDailyQuestList = new List<int>(); Dictionary<int, DailyQuestData> dailyQuests = new Dictionary<int, DailyQuestData>(); Dictionary<int, int> dungeonToDailyQuestTable = new Dictionary<int, int>(); Dictionary<int, int> dailyActionToDailyQuestTable = new Dictionary<int, int>(); @@ -124,7 +127,7 @@ public event Action currentActiveValueUpdateEvent; public event Action usableActivePointUpdateEvent; public event Action categoryChangeEvent; public event Action newDailyQuestOpenEvent; public override void Init() { @@ -137,7 +140,6 @@ } dailyQuestActiveValueRewards.Sort((x, y) => { return x.id.CompareTo(y.id); }); UpdateRedpoints(); fairyLeagueModel.onFairyLeagueBattleEvent += OnFairyLeagueBattle; @@ -150,6 +152,7 @@ allianceBossModel.allianceBossStateRefresh += AllianceBossStateRefresh; RedpointCenter.Instance.redpointValueChangeEvent += RedpointValueChangeEvent; TaskModel.Event_FairyAuTask += OnFairyTaskRefresh; FuncOpen.Instance.NewFuncOpenEvent += OnNewFuncOpen; } public override void UnInit() @@ -164,6 +167,7 @@ allianceBossModel.allianceBossStateRefresh -= AllianceBossStateRefresh; RedpointCenter.Instance.redpointValueChangeEvent -= RedpointValueChangeEvent; TaskModel.Event_FairyAuTask -= OnFairyTaskRefresh; FuncOpen.Instance.NewFuncOpenEvent -= OnNewFuncOpen; } public void OnPlayerLoginOk() @@ -182,6 +186,55 @@ UpdateRedpoints(); } public void OnNewFuncOpen(int id) { var quests = DailyQuestConfig.GetValues(); bool bHasAdd = false; foreach (var quest in quests) { if(quest.UnLockFuncID == id) { m_newDailyQuestOpenList.Add(quest.ID); bHasAdd = true; } } if (newDailyQuestOpenEvent != null && bHasAdd) { newDailyQuestOpenEvent(); } } public bool IsNewDailyQuest(int id) { if(category == DailyQuestCategory.EveryDay) { if (m_newDailyQuestOpenList.Contains(id) && IsDailyQuestUnLock(id)) { if(!m_HasShowDailyQuestList.Contains(id)) { m_HasShowDailyQuestList.Add(id); } return true; } } return false; } public void RemoveHasShowDailyQuest() { for (int i = 0; i < m_HasShowDailyQuestList.Count; i++) { var id = m_HasShowDailyQuestList[i]; m_newDailyQuestOpenList.Remove(id); } m_HasShowDailyQuestList.Clear(); } private void RedpointValueChangeEvent(int id) { if (id == prayerModel.redpoint.id) System/DailyQuest/DailyQuestWin.cs
@@ -37,6 +37,12 @@ model.currentDailyQuest = 0; model.wannaLookDailyQuest = 0; base.OnPreClose(); } protected override void OnAfterClose() { base.OnAfterClose(); model.RemoveHasShowDailyQuest(); } protected override void OnActived() System/DailyQuest/DayQuestDetailsWin.cs
@@ -49,6 +49,7 @@ { model.usableActivePointUpdateEvent += OnUpdateUsableActivePoint; model.categoryChangeEvent += ShowQuestGroups; model.newDailyQuestOpenEvent += ShowQuestGroups; } protected override void OnPreClose() @@ -57,6 +58,7 @@ model.wannaLookDailyQuest = 0; m_QuestScroll.Dispose(); model.newDailyQuestOpenEvent -= ShowQuestGroups; model.categoryChangeEvent -= ShowQuestGroups; model.usableActivePointUpdateEvent -= OnUpdateUsableActivePoint; if (m_CheckMouseDown != null) @@ -69,7 +71,7 @@ protected override void OnAfterClose() { } IEnumerator CheckMouseDown() UI/Common/FuncOpen.cs
@@ -18,6 +18,8 @@ return _inst; } } private bool m_bIsFirstRecive = true; public event Action<int> NewFuncOpenEvent; protected FuncOpen() { @@ -72,19 +74,35 @@ { for (int i = 0; i < vNetData.FuncCount; i++) { var funcState = vNetData.FuncStateList[i]; bool bPerFuncIsOpen = false; bool bAfterFuncIsOpen = false; if (!funcOpenState.ContainsKey(funcState.FuncID)) { funcOpenState.Add(funcState.FuncID, funcState.State == 1); bAfterFuncIsOpen = true; } else { bPerFuncIsOpen = funcOpenState[funcState.FuncID]; funcOpenState[funcState.FuncID] = funcState.State == 1; bAfterFuncIsOpen = funcOpenState[funcState.FuncID]; } if (OnFuncStateChangeEvent != null) { OnFuncStateChangeEvent(funcState.FuncID); } if(!m_bIsFirstRecive && !bPerFuncIsOpen && bAfterFuncIsOpen) { NewFuncOpenEvent(funcState.FuncID); } } if(m_bIsFirstRecive) { m_bIsFirstRecive = false; } }