lzx 1 день назад
Родитель
Сommit
1040a324c8

+ 1 - 1
Assets/Res/Config/EventLinkConfig.json

@@ -540,7 +540,7 @@
       "ConditionPara": [
         100001
       ],
-      "finishCount": 1,
+      "finishCount": 2,
       "optionType": 2,
       "optionPara1": [
         100001

+ 33 - 3
Assets/Res/Config/PlacesConfig.json

@@ -28,7 +28,17 @@
       "to3DPrefab": "b",
       "placeDesc": null,
       "TotalScore": null,
-      "DivineSenseGeneralProbability": null
+      "ZhixianID": [
+        10,
+        15,
+        20
+      ],
+      "DivineSenseGeneralProbability": 40,
+      "SpecialTaskID": [
+        1,
+        2,
+        3
+      ]
     },
     {
       "ID": 3,
@@ -38,7 +48,17 @@
       "to3DPrefab": "c",
       "placeDesc": null,
       "TotalScore": null,
-      "DivineSenseGeneralProbability": null
+      "ZhixianID": [
+        10,
+        15,
+        20
+      ],
+      "DivineSenseGeneralProbability": 40,
+      "SpecialTaskID": [
+        1,
+        2,
+        3
+      ]
     },
     {
       "ID": 4,
@@ -48,7 +68,17 @@
       "to3DPrefab": "h",
       "placeDesc": null,
       "TotalScore": null,
-      "DivineSenseGeneralProbability": null
+      "ZhixianID": [
+        10,
+        15,
+        20
+      ],
+      "DivineSenseGeneralProbability": 40,
+      "SpecialTaskID": [
+        1,
+        2,
+        3
+      ]
     },
     {
       "ID": 5,

+ 91 - 1
Assets/Res/UI/LevelChoosePanel/LevelChoosePanel.prefab

@@ -488,10 +488,10 @@ RectTransform:
   m_ConstrainProportionsScale: 0
   m_Children:
   - {fileID: 521721975639574570}
+  - {fileID: 8496797429676659738}
   - {fileID: 3955771721407637355}
   - {fileID: 6655763953880212584}
   - {fileID: 324091128240362783}
-  - {fileID: 8496797429676659738}
   - {fileID: 7150719714880345466}
   - {fileID: 5785482111981742941}
   m_Father: {fileID: 0}
@@ -564,6 +564,7 @@ GameObject:
   - component: {fileID: 324091128240362783}
   - component: {fileID: 6309791452607622204}
   - component: {fileID: 4918003727059701871}
+  - component: {fileID: 5931991323160123673}
   m_Layer: 0
   m_HasEditorInfo: 1
   m_Name: myImage (2)
@@ -642,6 +643,50 @@ MonoBehaviour:
   topOrLeftColor: {r: 1, g: 1, b: 1, a: 1}
   bottomOrRightColor: {r: 0, g: 0, b: 0, a: 1}
   direction: 0
+--- !u!114 &5931991323160123673
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4004745461571394297}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 4918003727059701871}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
 --- !u!1 &4069783973136842620
 GameObject:
   m_ObjectHideFlags: 0
@@ -731,6 +776,7 @@ GameObject:
   - component: {fileID: 6655763953880212584}
   - component: {fileID: 1686301719136768646}
   - component: {fileID: 361703926144020833}
+  - component: {fileID: 2913254606656677449}
   m_Layer: 0
   m_HasEditorInfo: 1
   m_Name: myImage (1)
@@ -809,6 +855,50 @@ MonoBehaviour:
   topOrLeftColor: {r: 1, g: 1, b: 1, a: 1}
   bottomOrRightColor: {r: 0, g: 0, b: 0, a: 1}
   direction: 0
+--- !u!114 &2913254606656677449
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4357533111604745581}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_WrapAround: 0
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 1
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+    m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+    m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+    m_ColorMultiplier: 1
+    m_FadeDuration: 0.1
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_SelectedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_SelectedTrigger: Selected
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 361703926144020833}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
 --- !u!1 &4531616383095797691
 GameObject:
   m_ObjectHideFlags: 0

+ 6 - 1
Assets/Scripts/GameUI/EventManager/DialogueManager.cs

@@ -50,7 +50,7 @@ public class DialogueManager : Singleton<DialogueManager>
         // 找到当前对话组
         var dialogueConfig = ConfigComponent.Instance.Get<EventLinkConfig>(dialogueID);
 
-        if (!EventSystemManager.Instance.IsEvenkLinkComplete(currentDialogueID) && dialogueConfig.optionType != 2)
+        if (!EventSystemManager.Instance.IsEvenkLinkComplete(currentDialogueID) && dialogueConfig.optionType == 2 && !(dialogueConfig.ConditionType == 5 && dialogueConfig.ConditionPara[0] == dialogueConfig.optionPara1[0]))
         {
             onCancel?.Invoke();
             return;
@@ -242,7 +242,12 @@ public class DialogueManager : Singleton<DialogueManager>
                 break;
             //结束事件
             default:
+
+                // if (eventConfig.EventLinksId.Contains(dialogueConfig.ID))
+            {
                 EndDialogue();
+            }
+
                 break;
         }
     }

+ 68 - 69
Assets/Scripts/GameUI/EventManager/EventSystemManager.cs

@@ -11,14 +11,13 @@ using GameLogic.Combat;
 using GameLogic.Combat.CombatTool;
 using UnityEngine;
 using Utility;
+using EventConfig = Excel2Json.EventConfig;
 using Random = UnityEngine.Random;
 
 public class EventSystemManager : Singleton<EventSystemManager>
 {
     List<EventConfig> eventConfigs = new List<EventConfig>();
 
-    List<AccountFileInfo.EventData> eventDatas = new List<AccountFileInfo.EventData>();
-
 
     public AccountFileInfo.EventList CurrentEventList;
 
@@ -78,9 +77,8 @@ public class EventSystemManager : Singleton<EventSystemManager>
         }
     }
 
-    public List<AccountFileInfo.EventList> UseDivinesense(int bigMapId)
+    public List<AccountFileInfo.EventList> UseDivinesense()
     {
-        DivineSenseConfig divineSenseConfig = ConfigComponent.Instance.Get<DivineSenseConfig>(AccountFileInfo.Instance.playerData.divineSenseLevel);
         HeroPowerUpConfig heroPowerUpConfig = PlayerManager.Instance.myHero.powerUpConfig;
         int count = AccountFileInfo.Instance.playerData.divineSensePoint / PlayerManager.Instance.gameConstantConfig.DetectEventCount;
         if (count <= 0)
@@ -99,25 +97,14 @@ public class EventSystemManager : Singleton<EventSystemManager>
         EventManager.Instance.Dispatch(CustomEventType.DivineSensePointChange, null);
         // 神识升级逻辑
         UpDivinesense();
-        // AccountFileInfo.Instance.SavePlayerData();
 
-        var eventConfigs = DetectEvents(bigMapId, count);
+        var eventConfigs = DetectEvents(count);
         if (eventConfigs == null || eventConfigs.Count == 0)
             return default;
 
-        List<AccountFileInfo.EventList> eventLists = new List<AccountFileInfo.EventList>();
-        for (var i = 0; i < eventConfigs.Count; i++)
-        {
-            AccountFileInfo.EventList eventList = AddEvent(eventConfigs[i].ID);
-            if (eventList == null)
-                continue;
-
-            eventLists.Add(eventList);
-        }
-
-        AccountFileInfo.Instance.playerData.eventList.AddRange(eventLists);
+        AccountFileInfo.Instance.playerData.eventList.AddRange(eventConfigs);
         AccountFileInfo.Instance.SavePlayerData();
-        return eventLists;
+        return eventConfigs;
     }
 
     private void UpDivinesense()
@@ -148,16 +135,46 @@ public class EventSystemManager : Singleton<EventSystemManager>
         return false;
     }
 
-    private List<EventConfig> DetectEvents(int bigMapId, int eventCount)
+    private List<AccountFileInfo.EventList> DetectEvents(int eventCount)
     {
-        PlacesConfig bigMap = ConfigComponent.Instance.Get<PlacesConfig>(bigMapId);
+        PlacesConfig bigMap = ConfigComponent.Instance.Get<PlacesConfig>(PlayerManager.Instance.CurrentPlaces.id);
         DivineSenseConfig divineSenseConfig = ConfigComponent.Instance.Get<DivineSenseConfig>(AccountFileInfo.Instance.playerData.divineSenseLevel);
 
 
         LogTool.Log($"使用神识,神识等级:{AccountFileInfo.Instance.playerData.divineSenseLevel}");
 
 
-        var triggeredEvents = new List<EventConfig>();
+        List<AccountFileInfo.EventList> eventLists = new List<AccountFileInfo.EventList>();
+
+        //找出可以刷新的支线任务
+        List<EventConfig> zhiXianEvents = new List<EventConfig>();
+        for (var i = 0; i < bigMap.ZhixianActivatedPercentage.Length; i++)
+        {
+            if (PlayerManager.Instance.CurrentPlaces.progress >= bigMap.ZhixianActivatedPercentage[i])
+            {
+                if (!BagIsEvent(bigMap.ZhixianActivatedPercentage[i]) && CheckCondition(bigMap.ZhixianActivatedPercentage[i]))
+                {
+                    zhiXianEvents.Add(ConfigComponent.Instance.Get<EventConfig>(bigMap.ZhixianActivatedPercentage[i]));
+                }
+            }
+        }
+
+        foreach (var c in zhiXianEvents)
+        {
+            AccountFileInfo.EventList eventList = AddEvent(c.ID);
+            if (eventList != null)
+            {
+                eventLists.Add(eventList);
+                eventCount--;
+
+                if (eventCount == 0)
+                {
+                    return eventLists;
+                }
+            }
+        }
+
+
         for (int i = 0; i < eventCount; i++)
         {
             //先掉落出品质
@@ -168,8 +185,8 @@ public class EventSystemManager : Singleton<EventSystemManager>
             List<EventConfig> globalEvents = eventConfigs.Where(e => e.EventTriggerType == 1 && CanTriggerEvent(e.ID) && e.EventQuality == quality && !BagIsEvent(e.ID)).ToList();
 
 
-            //神识场景事件
-            List<EventConfig> candidateEvents = eventConfigs.Where(e => bigMap.ZhixianID.Contains(e.ID) && CanTriggerEvent(e.ID) && e.EventQuality == quality && !BagIsEvent(e.ID)).ToList();
+            //场景特定事件
+            List<EventConfig> candidateEvents = eventConfigs.Where(e => bigMap.SpecialTaskID.Contains(e.ID) && CanTriggerEvent(e.ID) && e.EventQuality == quality && !BagIsEvent(e.ID)).ToList();
 
             if (candidateEvents.Count == 0 && globalEvents.Count == 0)
             {
@@ -178,30 +195,28 @@ public class EventSystemManager : Singleton<EventSystemManager>
 
 
             int randomValue1 = Random.Range(0, 101);
-            //刷场景事件
+            // 达到怪率刷新场景特定事件
+            //不然刷新通用事件(每个地图都可以刷的)
             if (randomValue1 >= bigMap.DivineSenseGeneralProbability && candidateEvents.Count > 0)
             {
                 int randomValue2 = Random.Range(0, candidateEvents.Count);
 
-                triggeredEvents.Add(candidateEvents[randomValue2]);
-                candidateEvents.RemoveAll(ew => ew.ID == candidateEvents[randomValue2].ID);
+                eventLists.Add(AddEvent(candidateEvents[randomValue2].ID));
             }
             else if (globalEvents.Count > 0)
             {
                 int randomValue2 = Random.Range(0, globalEvents.Count);
-
-                triggeredEvents.Add(globalEvents[randomValue2]);
-                globalEvents.RemoveAll(ew => ew.ID == globalEvents[randomValue2].ID);
+                eventLists.Add(AddEvent(globalEvents[randomValue2].ID));
             }
         }
 
-        if (triggeredEvents.Count == 0)
+        if (eventLists.Count == 0)
         {
             LogTool.Error("没有可以触发的事件");
-            return default;
+            return null;
         }
 
-        return triggeredEvents;
+        return eventLists;
     }
 
 
@@ -221,9 +236,6 @@ public class EventSystemManager : Singleton<EventSystemManager>
                 {
                     eventList = new AccountFileInfo.EventList();
                     eventList.eventID = eventID;
-
-
-                    // return eventList;
                 }
             }
             else
@@ -233,6 +245,7 @@ public class EventSystemManager : Singleton<EventSystemManager>
             }
         }
 
+        //初始化神识链条,用于监听条件是否完成
         if (eventList != null && eventConfig.EventType != 2)
         {
             foreach (var i in eventConfig.EventLinksId)
@@ -248,8 +261,9 @@ public class EventSystemManager : Singleton<EventSystemManager>
                 }
 
                 eventLinkData.fishCount = 0;
-                EventSystemManager.Instance.CeekTaskComplete(eventLinkData.eventLinkId, 1, 0);
-                EventSystemManager.Instance.CeekTaskComplete(eventLinkData.eventLinkId, 3, 0);
+                //初始化先检测一些条件
+                CeekTaskComplete(eventLinkData.eventLinkId, 1, 0);
+                CeekTaskComplete(eventLinkData.eventLinkId, 3, 0);
             }
         }
 
@@ -284,21 +298,21 @@ public class EventSystemManager : Singleton<EventSystemManager>
 
 
     /// <summary>
-    /// 触发事件
+    /// 挂机事件触发
     /// </summary>
     public void TriggerEvent(EventConfig evt)
     {
         if (isTriggerEvent)
             return;
         isTriggerEvent = true;
-        LogTool.Log($"触发事件: {evt.Description} (ID: {evt.ID}, 品质: {evt.EventQuality})");
+        LogTool.Log($"触发事件: {evt.EventName} (ID: {evt.ID}, 品质: {evt.EventQuality})");
         CombatDrive.Instance.CombatController.ChangeState(CombatController.idle);
 
         DialogueManager.Instance.StartDialogue(evt.EventLinksId[0], evt.ID, () => { CompleteEvent(evt.ID); });
     }
 
     /// <summary>
-    /// 触发事件
+    /// 其他类型事件触发
     /// </summary>
     public async CTask TriggerEvent(AccountFileInfo.EventList evt, Action oncompleteCallBack = null)
     {
@@ -308,15 +322,12 @@ public class EventSystemManager : Singleton<EventSystemManager>
         this.onCompleteCallback = oncompleteCallBack;
         isTriggerEvent = true;
         EventConfig eventConfig = ConfigComponent.Instance.Get<EventConfig>(evt.eventID);
-        LogTool.Log($"触发事件: {LanguageManager.Instance.Text(eventConfig.Description)} (ID: {eventConfig.ID}, 品质: {eventConfig.EventQuality})");
+        LogTool.Log($"触发事件: {LanguageManager.Instance.Text(eventConfig.EventName)} (ID: {eventConfig.ID}, 品质: {eventConfig.EventQuality})");
 
         int dialogueID = 0;
         if (evt.curStep == 0)
         {
             dialogueID = eventConfig.EventLinksId[0];
-
-
-            // AccountFileInfo.Instance.SavePlayerData();
         }
         else
         {
@@ -362,6 +373,8 @@ public class EventSystemManager : Singleton<EventSystemManager>
         {
             CeekTaskComplete(playerDataEventLinkData.eventLinkId, type, value);
         }
+
+        EventManager.Instance.Dispatch(CustomEventType.RemoveEvent, null);
     }
 
     public void CeekTaskComplete(int eventLiknId, int type, int value)
@@ -462,7 +475,7 @@ public class EventSystemManager : Singleton<EventSystemManager>
     /// <summary>
     /// 检查单个触发条件。
     /// </summary>
-    public bool CheckCondition(int conditionid, int[] EventVlaue,int value)
+    public bool CheckCondition(int conditionid)
     {
         if (conditionid == 0)
             return true;
@@ -491,17 +504,19 @@ public class EventSystemManager : Singleton<EventSystemManager>
         isTriggerEvent = false;
         LogTool.Log($"完成挂机事件{evtId}");
 
+        EventConfig eventConfig = ConfigComponent.Instance.Get<EventConfig>(evtId);
 
         AccountFileInfo.EventList eventList = new AccountFileInfo.EventList();
         eventList.eventID = evtId;
         AccountFileInfo.Instance.playerData.completeEvents.Add(eventList);
 
         if (PlayerManager.Instance.CurrentPlaces.progress < 100)
-            PlayerManager.Instance.CurrentPlaces.progress += 1;
+            PlayerManager.Instance.CurrentPlaces.progress += eventConfig.Score;
 
 
         AccountFileInfo.Instance.SavePlayerData();
         CombatDrive.Instance.CombatController.ChangeState(CombatController.update);
+        EventManager.Instance.Dispatch(CustomEventType.CompleteEvent, null);
     }
 
     /// <summary>
@@ -518,7 +533,7 @@ public class EventSystemManager : Singleton<EventSystemManager>
         AccountFileInfo.Instance.playerData.completeEvents.Add(eventList);
 
         if (PlayerManager.Instance.CurrentPlaces.progress < 100)
-            PlayerManager.Instance.CurrentPlaces.progress += 5;
+            PlayerManager.Instance.CurrentPlaces.progress += eventConfig.Score;
 
 
         AccountFileInfo.Instance.playerData.eventList.Remove(eventList);
@@ -529,8 +544,9 @@ public class EventSystemManager : Singleton<EventSystemManager>
             TaskInfoPanel.OpenPanel(eventList.eventID, "任务完成");
         }
 
-        EventManager.Instance.Dispatch(CustomEventType.CompleteEvent, null);
+
         CombatDrive.Instance.CombatController.ChangeState(CombatController.update);
+        EventManager.Instance.Dispatch(CustomEventType.CompleteEvent, null);
         onCompleteCallback?.Invoke();
         onCompleteCallback = null;
     }
@@ -541,27 +557,6 @@ public class EventSystemManager : Singleton<EventSystemManager>
     /// <param name="eventID">事件ID</param>
     public void CompleteEvent(AccountFileInfo.EventLinkData eventLinkData)
     {
-        // AccountFileInfo.EventList eventList = new AccountFileInfo.EventList();
-        // eventList.eventID = eventLinkData.eventId;
-        // AccountFileInfo.Instance.playerData.completeEvents.Add(eventList);
-        //
-        // if (AccountFileInfo.Instance.playerData.senceExplorationProgress < 100)
-        //     AccountFileInfo.Instance.playerData.senceExplorationProgress += 1;
-        //
-        //
-        // AccountFileInfo.Instance.playerData.eventList.Remove(eventList);
-        //
-        // EventLinkConfig eventLinkConfig = ConfigComponent.Instance.Get<EventLinkConfig>(eventLinkData.eventLinkId);
-        // if (eventLinkConfig.ResultType == 3)
-        // {
-        //     //触发新事件
-        //     //弹出任务完成ui
-        // }
-        //
-        // AccountFileInfo.Instance.SavePlayerData();
-        //
-        // EventManager.Instance.Dispatch(CustomEventType.CompleteEvent, null);
-        // CombatDrive.Instance.CombatController.ChangeState(CombatController.update);
     }
 
     /// <summary>
@@ -585,6 +580,10 @@ public class EventSystemManager : Singleton<EventSystemManager>
         EventManager.Instance.Dispatch(CustomEventType.RemoveEvent, null);
     }
 
+    /// <summary>
+    /// 获得主线事件
+    /// </summary>
+    /// <returns></returns>
     public AccountFileInfo.EventList GetMainEventDta()
     {
         foreach (var eventList in AccountFileInfo.Instance.playerData.eventList)

+ 1 - 1
Assets/Scripts/GameUI/UI/AppBarPanel/AppBarPanel.cs

@@ -124,7 +124,7 @@ namespace Fort23.Mono
             CombatDrive.Instance.CombatController.ChangeState(CombatController.idle);
             CombatController.currActiveCombat.CombatSenceController.StartPayShengShi(CombatController.currActiveCombat
                 .playerHeroEntity.GameObject.transform);
-            List<AccountFileInfo.EventList> eventLists = EventSystemManager.Instance.UseDivinesense(1);
+            List<AccountFileInfo.EventList> eventLists = EventSystemManager.Instance.UseDivinesense();
             await TimerComponent.Instance.WaitAsync(800);
             EventSystemManager.Instance.isTriggerEvent = false;
             if (eventLists == null || eventLists.Count == 0)

+ 1 - 1
Assets/Scripts/GameUI/UI/DivineSence/ShengShiEventWidgetType2.cs

@@ -38,7 +38,7 @@ namespace Fort23.Mono
 		{
 			this.eventList = eventList;
 			randomEventConfig = ConfigComponent.Instance.Get<EventConfig>(eventList.eventID);
-			Text_EventName.text = LanguageManager.Instance.Text(randomEventConfig.Description);
+			Text_EventName.text = LanguageManager.Instance.Text(randomEventConfig.EventName);
 			EventLinkConfig conditionConfig = ConfigComponent.Instance.Get<EventLinkConfig>(randomEventConfig.EventLinksId[0]);
 			// Text_EventDesc.text = LanguageManager.Instance.Text(conditionConfig.LanID[0]);
 

+ 1 - 1
Assets/Scripts/GameUI/UI/DivineSence/ShengShiEventWidgetType3.cs

@@ -48,7 +48,7 @@ namespace Fort23.Mono
 
             this.eventList = eventList;
             randomEventConfig = ConfigComponent.Instance.Get<EventConfig>(eventList.eventID);
-            Text_EventName.text = LanguageManager.Instance.Text(randomEventConfig.Description);
+            Text_EventName.text = LanguageManager.Instance.Text(randomEventConfig.EventName);
             EventLinkConfig conditionConfig = ConfigComponent.Instance.Get<EventLinkConfig>(randomEventConfig.EventLinksId[0]);
             Text_EventDesc.text = LanguageManager.Instance.Text(conditionConfig.LanID[0]);
 

+ 6 - 4
Assets/Scripts/GameUI/UI/LevelChoosePanel/LevelChoosePanel.cs

@@ -47,7 +47,7 @@ namespace Fort23.Mono
         public async CTask ChangeMap(int bigMapId)
         {
             Sv2.gameObject.SetActive(false);
-            
+
             _bigMapItem?.Dispose();
             _bigMapItem = null;
             WorldMapConfig worldMapConfig = ConfigComponent.Instance.Get<WorldMapConfig>(bigMapId);
@@ -91,14 +91,14 @@ namespace Fort23.Mono
             EventManager.Instance.Dispatch(CustomEventType.ChangeMap, null);
         }
 
-        public async void ChangePlaces(int bigMapId)
+        public async CTask ChangePlaces(int bigMapId)
         {
             Sv2.gameObject.SetActive(true);
             placesItem?.Dispose();
             placesItem = null;
             BigMapConfig bigMapConfig = ConfigComponent.Instance.Get<BigMapConfig>(bigMapId);
             GameObjectPool gameObjectPool2 = await GObjectPool.Instance.FetchAsync<GameObjectPool>(bigMapConfig.mapPrefabName + ".prefab");
-            gameObjectPool2.own.transform.parent = PlacesRoot ;
+            gameObjectPool2.own.transform.parent = PlacesRoot;
             gameObjectPool2.own.transform.localScale = Vector3.one;
             gameObjectPool2.own.transform.GetComponent<RectTransform>().anchoredPosition = Vector2.zero;
 
@@ -111,8 +111,10 @@ namespace Fort23.Mono
             int PlacesId = PlayerManager.Instance.GetMaxPlacesId();
             PlacesConfig placesConfig = ConfigComponent.Instance.Get<PlacesConfig>(PlacesId);
             BigMapConfig bigMapConfig = ConfigComponent.Instance.Get<BigMapConfig>(placesConfig.bigMapID);
+         
+            await ChangePlaces(bigMapConfig.ID);
             await ChangeMap(bigMapConfig.ID);
-            ChangePlaces(bigMapConfig.ID);
+            Sv2.gameObject.SetActive(true);
         }
 
         public async static CTask OpenPanel()

+ 15 - 54
Assets/Scripts/GameUI/UI/MainPanel/MainPanel.cs

@@ -15,6 +15,8 @@ namespace Fort23.Mono
     {
         bool isShowSkillPanel = false;
 
+        private ShengShiEventWidget shengShiEventWidget;
+
         private void Init()
         {
             isAddStack = true;
@@ -142,57 +144,6 @@ namespace Fort23.Mono
             CombatController.currActiveCombat.CombatCameraControllder.CameraSelect_onValueChanged(value);
         }
 
-        private async void Bnt_shengShi_onClick()
-        {
-            // EventSystemManager.Instance.DetectRandomEvents();
-
-            if (AccountFileInfo.Instance.playerData.divineSensePoint < PlayerManager.Instance.gameConstantConfig.DetectEventCount)
-            {
-                TipMessagePanel.OpenTipMessagePanel("神识值不够!");
-                return;
-            }
-
-            if (EventSystemManager.Instance.isTriggerEvent)
-                return;
-
-            EventSystemManager.Instance.isTriggerEvent = true;
-            CombatDrive.Instance.CombatController.ChangeState(CombatController.idle);
-            CombatController.currActiveCombat.CombatSenceController.StartPayShengShi(CombatController.currActiveCombat
-                .playerHeroEntity.GameObject.transform);
-            List<AccountFileInfo.EventList> eventLists = EventSystemManager.Instance.UseDivinesense(1);
-            await TimerComponent.Instance.WaitAsync(800);
-            if (eventLists == null || eventLists.Count == 0)
-            {
-                EventSystemManager.Instance.isTriggerEvent = false;
-                CombatDrive.Instance.CombatController.ChangeState(CombatController.update);
-                return;
-            }
-
-
-            List<AccountFileInfo.EventList> reeultEventLists = new List<AccountFileInfo.EventList>();
-            reeultEventLists = eventLists.Where((el) =>
-            {
-                EventConfig eventConfig = ConfigComponent.Instance.Get<EventConfig>(el.eventID);
-                return eventConfig.EventType == 2;
-            }).ToList();
-
-            if (reeultEventLists != null && reeultEventLists.Count > 0)
-            {
-                foreach (var reeultEventList in reeultEventLists)
-                {
-                    EventSystemManager.Instance.CompleteEvent(reeultEventList, true);
-                    eventLists.Remove(reeultEventList);
-                }
-
-                DivineSenceEventResultPanel divineSenceEventResultPanel = await DivineSenceEventResultPanel.OpenPanel(reeultEventLists);
-                await divineSenceEventResultPanel.UIClosed();
-            }
-
-            EventSystemManager.Instance.isTriggerEvent = false;
-            CombatDrive.Instance.CombatController.ChangeState(CombatController.update);
-            AccountFileInfo.Instance.playerData.eventList.AddRange(eventLists);
-            AccountFileInfo.Instance.SavePlayerData();
-        }
 
         private void ShengShiOnClick(IEventData e)
         {
@@ -203,15 +154,18 @@ namespace Fort23.Mono
 
         public async void CreatShengShiEvent()
         {
-            UIManager.Instance.DormancyAllGComponent<ShengShiEventWidget>();
             int count = AccountFileInfo.Instance.playerData.eventList.Count >= 1 ? 1 : AccountFileInfo.Instance.playerData.eventList.Count;
 
             if (count >= 1)
             {
                 AccountFileInfo.EventList eventList = EventSystemManager.Instance.GetMainEventDta() == null ? null : EventSystemManager.Instance.GetMainEventDta();
                 eventList = eventList == null ? AccountFileInfo.Instance.playerData.eventList[0] : eventList;
-                ShengShiEventWidget shengShiEventWidget =
-                    await UIManager.Instance.CreateGComponent<ShengShiEventWidget>(null, DynamicEvent);
+                if (shengShiEventWidget == null)
+                {
+                    shengShiEventWidget =
+                        await UIManager.Instance.CreateGComponent<ShengShiEventWidget>(null, DynamicEvent);
+                }
+
                 shengShiEventWidget.InitShengShiEventWidget(eventList);
             }
         }
@@ -238,5 +192,12 @@ namespace Fort23.Mono
         {
             await UIManager.Instance.LoadAndOpenPanel<MainPanel>(null);
         }
+
+        public override void Close()
+        {
+            UIManager.Instance.DormancyGComponent(shengShiEventWidget);
+            shengShiEventWidget = null;
+            base.Close();
+        }
     }
 }

+ 1 - 1
Assets/Scripts/GameUI/UI/RewardsPanel/ShowItemNumberCom.cs

@@ -31,7 +31,7 @@ namespace Fort23.Mono
 
         public static async CTask<ShowItemNumberCom> Open(Vector3 pos, ItemInfo itemInfo)
         {
-            ShowItemNumberCom showItemNumberCom = await UIManager.Instance.CreateGComponent<ShowItemNumberCom>(null, UIManager.Instance.GetLayer(UILayer.Top));
+            ShowItemNumberCom showItemNumberCom = await UIManager.Instance.CreateGComponent<ShowItemNumberCom>(null, UIManager.Instance.GetLayer(UILayer.Middle));
             Vector3 p = UIManager.Instance.CurrCustomCameraStack.camera.WorldToScreenPoint(pos);
             Vector3 p2 = UIManager.Instance.UICamera.ScreenToWorldPoint(p);
             showItemNumberCom.GObjectPoolInterface.GetComponent<RectTransform>().position = p2;

BIN
Excel2Json/Excel/EventConfig.xlsx


BIN
Excel2Json/Excel/Maps.xlsx