lzx hai 1 día
pai
achega
e254a98d89
Modificáronse 1 ficheiros con 24 adicións e 12 borrados
  1. 24 12
      Assets/Scripts/GameUI/EventManager/DialogueManager.cs

+ 24 - 12
Assets/Scripts/GameUI/EventManager/DialogueManager.cs

@@ -11,6 +11,7 @@ using GameLogic.Bag;
 using GameLogic.Combat;
 using GameLogic.Combat.CombatTool;
 using GameLogic.Player;
+using JetBrains.Annotations;
 using UnityEngine;
 using Utility;
 using Random = UnityEngine.Random;
@@ -52,14 +53,17 @@ public class DialogueManager : Singleton<DialogueManager>
         currentDialogueID = 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)
         // {
         //     if (!EventSystemManager.Instance.IsEvenkLinkComplete(eventConditionData))
@@ -239,15 +243,23 @@ public class DialogueManager : Singleton<DialogueManager>
             //     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;
+                    }
+                }
             }
+
+       
         }