| System/DailyQuest/DailyQuestBehaviour.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/DailyQuest/DailyQuestModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
System/DailyQuest/DailyQuestBehaviour.cs
@@ -20,6 +20,7 @@ [SerializeField] Text m_PracticePoint; [SerializeField] Text m_UnLockCondition; [SerializeField] TextEx m_Supplementary; [SerializeField] FontColorSizeConfig m_TimeColor; [SerializeField] Text m_AssistPoint; [SerializeField] Text m_GotoTxt; [SerializeField] Image m_Icon; @@ -27,6 +28,7 @@ [SerializeField] Button m_Goto; [SerializeField] Button m_Func; [SerializeField] Text m_FuncDisplay; [SerializeField] RectTransform m_TimeMiss; [SerializeField] Transform m_Complete; [SerializeField] Transform m_Locked; [SerializeField] RedpointBehaviour m_RedpointBehaviour; @@ -40,7 +42,6 @@ DailyQuestModel model { get { return ModelCenter.Instance.GetModel<DailyQuestModel>(); } } DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } } TrialDungeonModel trialDungeonModel { get { return ModelCenter.Instance.GetModel<TrialDungeonModel>(); } } DailyQuestModel.DailyQuestState state = DailyQuestModel.DailyQuestState.Normal; @@ -215,6 +216,7 @@ m_AssistPoint.gameObject.SetActive(state == DailyQuestModel.DailyQuestState.Completed); m_Goto.gameObject.SetActive(state == DailyQuestModel.DailyQuestState.Normal || state == DailyQuestModel.DailyQuestState.CanBuyTimes); m_Complete.gameObject.SetActive(false); m_TimeMiss.gameObject.SetActive(false); switch (state) { @@ -226,11 +228,17 @@ HourMinute hourMinute; if (model.TryGetOpenTime(data.id, out openTime2) && openTime2.TryGetTodayNearestOpenTime(out hourMinute)) { if (hourMinute.AfterOpenTime(TimeUtility.ServerNow.Hour, TimeUtility.ServerNow.Minute) && completedTimes == 0) { m_TimeMiss.gameObject.SetActive(true); } m_Supplementary.text = StringUtility.Contact(Language.Get("DailyQuestWin_OpenTime"), hourMinute.ToOpenTime()); m_Supplementary.color = m_TimeColor.GetColorSize("TodayColor").color; } else { m_Supplementary.text = openTime2.ToOpenTimeString(); m_Supplementary.color = m_TimeColor.GetColorSize("NotTodayColor").color; } break; case DailyQuestModel.DailyQuestState.CanBuyTimes: System/DailyQuest/DailyQuestModel.cs
@@ -690,16 +690,6 @@ var unLock1 = IsDailyQuestUnLock(_lhs); var unLock2 = IsDailyQuestUnLock(_rhs); if (unLock1 && !unLock2) { return -1; } else if (!unLock1 && unLock2) { return 1; } else { DailyQuestOpenTime openTime1; TryGetOpenTime(_lhs, out openTime1); @@ -710,47 +700,63 @@ var isActiveDay1 = openTime1.always || openTime1.GetHourMinuteByWeek(dayOfWeek) != null; var isActiveDay2 = openTime2.always || openTime2.GetHourMinuteByWeek(dayOfWeek) != null; if (isActiveDay1 && !isActiveDay2) { return -1; } else if (!isActiveDay1 && isActiveDay2) { return 1; } else { var inOpenTime1 = openTime1.InOpenTime(); var inOpenTime2 = openTime2.InOpenTime(); if (inOpenTime1 && !inOpenTime2) { return -1; } else if (!inOpenTime1 && inOpenTime2) { return 1; } else if (!inOpenTime1 && !inOpenTime2) { var serverHour = TimeUtility.ServerNow.Hour; var serverMinute = TimeUtility.ServerNow.Minute; HourMinute hourMinute1; var beforeOpenTime1 = openTime1.TryGetTodayNearestOpenTime(out hourMinute1); var miss1 = openTime1.TryGetTodayNearestOpenTime(out hourMinute1) && hourMinute1.AfterOpenTime(serverHour, serverMinute); HourMinute hourMinute2; var beforeOpenTime2 = openTime2.TryGetTodayNearestOpenTime(out hourMinute2); var miss2 = openTime2.TryGetTodayNearestOpenTime(out hourMinute2) && hourMinute2.AfterOpenTime(serverHour, serverMinute); if (beforeOpenTime1 && !beforeOpenTime2) if ((unLock1 && inOpenTime1) && !(unLock2 && inOpenTime2)) { return -1; } else if (!beforeOpenTime1 && beforeOpenTime2) else if (!(unLock1 && inOpenTime1) && (unLock2 && inOpenTime2)) { return 1; } else { return HourMinute.Compare(hourMinute1, hourMinute2); if ((unLock1 && isActiveDay1 && !miss1) && !(unLock2 && isActiveDay2 && !miss2)) { return -1; } else if (!(unLock1 && isActiveDay1 && !miss1) && (unLock2 && isActiveDay2 && !miss2)) { return 1; } else { if ((unLock1 && !isActiveDay1) && !(unLock2 && !isActiveDay2)) { return -1; } else if (!(unLock1 && !isActiveDay1) && (unLock2 && !isActiveDay2)) { return 1; } else { if (unLock1 && !unLock2) { return -1; } else if (!unLock1 && unLock2) { return 1; } else { if (!miss1 && miss2) { return -1; } else if (miss1 && !miss2) { return 1; } else { @@ -758,6 +764,8 @@ } } } } } }