lzx il y a 1 jour
Parent
commit
a27313e386

+ 0 - 6
Assets/Scripts/GameData/ExcelConfig/XianTuLogConfig.cs

@@ -38,12 +38,6 @@ public int Title;
 public int Desc;
 
 
-		/// <summary>
-		///属于哪个章节
-		/// </summary>
-public int BigMapID;
-
-
 	}
 
 }

+ 46 - 13
Assets/Scripts/GameUI/EventManager/EventSystemManager.cs

@@ -329,8 +329,17 @@ public class EventSystemManager : Singleton<EventSystemManager>
                         int randomValue4 = Random.Range(0, 101);
                         if (randomValue4 <= eventConfig1.RefreshProbability)
                         {
-                            eventLists.Add(AddEvent(eventConfig1.ID));
-                            isRefence = true;
+                            var eventList1 = AddEvent(eventConfig1.ID);
+                            if (eventList1 != null)
+                            {
+                                eventLists.Add(AddEvent(eventConfig1.ID));
+                                isRefence = true;
+                            }
+                            else
+                            {
+                                LogTool.Error("管理事件没有刷新出来 id:" + eventConfig1.ID);
+                            }
+
                             break;
                         }
                     }
@@ -372,12 +381,29 @@ public class EventSystemManager : Singleton<EventSystemManager>
             {
                 int randomValue2 = Random.Range(0, candidateEvents.Count);
 
-                eventLists.Add(AddEvent(candidateEvents[randomValue2].ID));
+                var eventList = AddEvent(candidateEvents[randomValue2].ID);
+                if (eventList != null)
+                {
+                    eventLists.Add(eventList);
+                }
+                else
+                {
+                    LogTool.Error("场景没有刷新出来 id:" + candidateEvents[randomValue2].ID);
+                }
             }
             else if (globalEvents.Count > 0)
             {
                 int randomValue2 = Random.Range(0, globalEvents.Count);
-                eventLists.Add(AddEvent(globalEvents[randomValue2].ID));
+                var eventList = AddEvent(globalEvents[randomValue2].ID);
+
+                if (eventList != null)
+                {
+                    eventLists.Add(eventList);
+                }
+                else
+                {
+                    LogTool.Error("通用事件没有刷新出来 id:" + globalEvents[randomValue2].ID);
+                }
             }
         }
 
@@ -396,11 +422,13 @@ public class EventSystemManager : Singleton<EventSystemManager>
     {
         EventConfig eventConfig = ConfigComponent.Instance.Get<EventConfig>(eventID);
         AccountFileInfo.EventList eventList = null;
-        AccountFileInfo.EventList e = AccountFileInfo.Instance.playerData.eventList.FirstOrDefault(e => e.eventID == eventID);
-        if (e == null)
+
+
+        //主线任务只能刷一次
+        if (eventConfig.EventTriggerType == 4 || eventConfig.EventTriggerType == 6)
         {
-            //主线任务只能刷一次
-            if (eventConfig.EventTriggerType == 4)
+            AccountFileInfo.EventList e = AccountFileInfo.Instance.playerData.eventList.FirstOrDefault(e => e.eventID == eventID);
+            if (e == null)
             {
                 e = AccountFileInfo.Instance.playerData.completeEvents.FirstOrDefault(e => e.eventID == eventID);
                 if (e == null)
@@ -412,18 +440,23 @@ public class EventSystemManager : Singleton<EventSystemManager>
                 {
                     return null;
                 }
+
+                eventList.guid = IdGenerater.GenerateIdInt();
+                eventList.curStep = eventConfig.EventLinksId[0];
+                eventList.selectEventLinkIds.Add(eventConfig.EventLinksId[0]);
             }
-            else
-            {
-                eventList = new AccountFileInfo.EventList();
-                eventList.eventID = eventID;
-            }
+        }
+        else
+        {
+            eventList = new AccountFileInfo.EventList();
+            eventList.eventID = eventID;
 
             eventList.guid = IdGenerater.GenerateIdInt();
             eventList.curStep = eventConfig.EventLinksId[0];
             eventList.selectEventLinkIds.Add(eventConfig.EventLinksId[0]);
         }
 
+
         //初始化神识链条,用于监听条件是否完成
         if (eventList != null && eventConfig.EventType != 2)
         {

+ 7 - 5
Assets/Scripts/GameUI/UI/XianTuLogPanel/XianTuLogInfoPanel.cs

@@ -33,6 +33,8 @@ namespace Fort23.Mono
 
         List<UIComponent> components = new List<UIComponent>();
 
+     
+
         // List<EventLogTitleWidget> titleWidgets = new List<EventLogTitleWidget>();
 
         private int type;
@@ -62,6 +64,8 @@ namespace Fort23.Mono
 
         public async override CTask<bool> AsyncInit(object[] uiData)
         {
+           
+
             CustomInit((int)uiData[0], (int)uiData[1]);
             return await base.AsyncInit(uiData);
         }
@@ -155,12 +159,12 @@ namespace Fort23.Mono
                             }
 
                             //选项文本
-                            if (eventLinkConfig.optionType == 1 && eventList.selectEventLinkIds.Count > i+1)
+                            if (eventLinkConfig.optionType == 1 && eventList.selectEventLinkIds.Count > i + 1)
                             {
                                 XianTuLogInfoData xianTuLogInfoData1 = new XianTuLogInfoData();
                                 xianTuLogInfoData1.type = 3;
                                 xianTuLogInfoData1.id = eventConfig.ID;
-                                int index = eventLinkConfig.optionPara1.ToList().IndexOf(eventList.selectEventLinkIds[i+1]);
+                                int index = eventLinkConfig.optionPara1.ToList().IndexOf(eventList.selectEventLinkIds[i + 1]);
                                 if (eventLinkConfig.NPCID != 0)
                                 {
                                     xianTuLogInfoData1.message = $"<color=#A6A6A6>选项:{LanguageManager.Instance.Text(eventLinkConfig.optionPara2[index])}</color>";
@@ -169,11 +173,9 @@ namespace Fort23.Mono
                                 {
                                     xianTuLogInfoData1.message = $"<color=#867169>选项:{LanguageManager.Instance.Text(eventLinkConfig.optionPara2[index])}</color>";
                                 }
-                                
+
                                 showXianTuLogInfoData.Add(xianTuLogInfoData1);
                             }
-                            
-                         
                         }
                     }
                 }

+ 33 - 4
Assets/Scripts/GameUI/UI/XianTuLogPanel/XianTuLogPanel.cs

@@ -39,6 +39,8 @@ namespace Fort23.Mono
 
         private EventLogTitleWidget eventLogTitleWidget;
 
+        Map<int, List<int>> xianTuMapConfigd = new Map<int, List<int>>();
+
         private void Init()
         {
             isAddStack = true;
@@ -143,12 +145,18 @@ namespace Fort23.Mono
                 {
                     foreach (var xianTuLogConfig in configs)
                     {
-                        if (!xiantuMap.ContainsKey(xianTuLogConfig.BigMapID))
+                        if (xianTuMapConfigd.ContainsKey(xianTuLogConfig.ID))
                         {
-                            xiantuMap.Add(xianTuLogConfig.BigMapID, new List<XianTuLogConfig>());
-                        }
+                            foreach (var i in xianTuMapConfigd[xianTuLogConfig.ID])
+                            {
+                                if (!xiantuMap.ContainsKey(i))
+                                {
+                                    xiantuMap.Add(i, new List<XianTuLogConfig>());
+                                }
 
-                        xiantuMap[xianTuLogConfig.BigMapID].Add(xianTuLogConfig);
+                                xiantuMap[i].Add(xianTuLogConfig);
+                            }
+                        }
                     }
                 }
             }
@@ -223,6 +231,27 @@ namespace Fort23.Mono
         {
             xianTuLogConfigs = ConfigComponent.Instance.GetAll<XianTuLogConfig>().ToList();
 
+
+            List<EventConfig> eventConfigs = ConfigComponent.Instance.GetAll<EventConfig>().ToList();
+            foreach (var xianTuLogConfig in xianTuLogConfigs)
+            {
+                List<EventConfig> configs = eventConfigs.Where(ec => ec.XiantuID == xianTuLogConfig.ID).ToList();
+                foreach (var eventConfig in configs)
+                {
+                    PlacesConfig placesConfig = ConfigComponent.Instance.Get<PlacesConfig>(eventConfig.placeID);
+                    if (!xianTuMapConfigd.ContainsKey(xianTuLogConfig.ID))
+                    {
+                        xianTuMapConfigd.Add(xianTuLogConfig.ID, new List<int>());
+                    }
+
+                    if (!xianTuMapConfigd[xianTuLogConfig.ID].Contains(placesConfig.bigMapID))
+                    {
+                        xianTuMapConfigd[xianTuLogConfig.ID].Add(placesConfig.bigMapID);
+                    }
+                }
+            }
+
+
             XianTuSaiXuanWidget xianTuSaiXuanWidget1 = await UIManager.Instance.CreateGComponentForObject<XianTuSaiXuanWidget>(XianTuSaiXuanWidget1, null);
             xianTuSaiXuanWidget1.CustomInit(1, 0);
             xianTuSaiXuanWidget1.OnClick = OnClick;