|
@@ -11,6 +11,7 @@ using GameLogic.Bag;
|
|
using GameLogic.Combat;
|
|
using GameLogic.Combat;
|
|
using GameLogic.Combat.CombatTool;
|
|
using GameLogic.Combat.CombatTool;
|
|
using GameLogic.Player;
|
|
using GameLogic.Player;
|
|
|
|
+using JetBrains.Annotations;
|
|
using UnityEngine;
|
|
using UnityEngine;
|
|
using Utility;
|
|
using Utility;
|
|
using Random = UnityEngine.Random;
|
|
using Random = UnityEngine.Random;
|
|
@@ -52,14 +53,17 @@ public class DialogueManager : Singleton<DialogueManager>
|
|
currentDialogueID = dialogueID;
|
|
currentDialogueID = dialogueID;
|
|
// 找到当前对话组
|
|
// 找到当前对话组
|
|
var dialogueConfig = ConfigComponent.Instance.Get<EventLinkConfig>(dialogueID);
|
|
var dialogueConfig = ConfigComponent.Instance.Get<EventLinkConfig>(dialogueID);
|
|
- var eventLinkDatas = CurrentEventList.eventLinks.FirstOrDefault(el => el.eventLinkId == dialogueID);
|
|
|
|
- // CeekEventGroupComplete.
|
|
|
|
- if (!EventSystemManager.Instance.CeekEventGroupComplete(eventLinkDatas.eventConditions))
|
|
|
|
|
|
+ if (CurrentEventList != null)
|
|
{
|
|
{
|
|
- onCancel?.Invoke();
|
|
|
|
- return;
|
|
|
|
|
|
+ var eventLinkDatas = CurrentEventList.eventLinks.FirstOrDefault(el => el.eventLinkId == dialogueID);
|
|
|
|
+ if (!EventSystemManager.Instance.CeekEventGroupComplete(eventLinkDatas.eventConditions))
|
|
|
|
+ {
|
|
|
|
+ onCancel?.Invoke();
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
|
|
+
|
|
// foreach (var eventConditionData in eventLinkDatas.eventConditions)
|
|
// foreach (var eventConditionData in eventLinkDatas.eventConditions)
|
|
// {
|
|
// {
|
|
// if (!EventSystemManager.Instance.IsEvenkLinkComplete(eventConditionData))
|
|
// if (!EventSystemManager.Instance.IsEvenkLinkComplete(eventConditionData))
|
|
@@ -239,15 +243,23 @@ public class DialogueManager : Singleton<DialogueManager>
|
|
// break;
|
|
// break;
|
|
}
|
|
}
|
|
|
|
|
|
- AccountFileInfo.EventLinkData eventLinkData = CurrentEventList.eventLinks.FirstOrDefault(el => el.eventLinkId == currentDialogueID);
|
|
|
|
-
|
|
|
|
- foreach (var eventConditionData in eventLinkData.eventConditions)
|
|
|
|
|
|
+ if (CurrentEventList != null)
|
|
{
|
|
{
|
|
- if (!EventSystemManager.Instance.IsEvenkLinkComplete(eventConditionData))
|
|
|
|
|
|
+ AccountFileInfo.EventLinkData eventLinkData = CurrentEventList.eventLinks.FirstOrDefault(el => el.eventLinkId == currentDialogueID);
|
|
|
|
+
|
|
|
|
+ if (eventLinkData != null)
|
|
{
|
|
{
|
|
- onCancel?.Invoke();
|
|
|
|
- return;
|
|
|
|
|
|
+ foreach (var eventConditionData in eventLinkData?.eventConditions)
|
|
|
|
+ {
|
|
|
|
+ if (!EventSystemManager.Instance.IsEvenkLinkComplete(eventConditionData))
|
|
|
|
+ {
|
|
|
|
+ onCancel?.Invoke();
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|