Parcourir la source

修改战斗失败后添加选项

lzx il y a 3 semaines
Parent
commit
3b1a59b7ef

+ 21 - 2
Assets/Scripts/GameLogic/EventManager/DialogueManager.cs

@@ -93,6 +93,7 @@ public class DialogueManager : Singleton<DialogueManager>
     private async void EndDialogue1()
     {
         EventConditionConfig dialogueConfig = ConfigComponent.Instance.Get<EventConditionConfig>(currentDialogueID);
+        bool isCombatWin = false;
         switch (dialogueConfig.optionType)
         {
             //选项在这里不处理 在ui层处理 所有这里不是走到1 直接return
@@ -103,11 +104,15 @@ public class DialogueManager : Singleton<DialogueManager>
             //进入战斗
             case 2:
                 LogTool.Log("对话结束,进入战斗");
+                CTask cTask = CTask.Create();
                 dialogue.StartCombat(dialogueConfig.optionPara1[0],
                     delegate(bool isWin)
                     {
                         LogTool.Log("战斗完成" + isWin);
+                        isCombatWin = isWin;
+                        cTask.SetResult();
                     });
+                await cTask;
                 break;
             //获得奖励
             case 3:
@@ -124,9 +129,23 @@ public class DialogueManager : Singleton<DialogueManager>
         }
 
         //如果有下一个对话id 走下一个id
-        if (dialogueConfig.ResultOptions != 0)
+        if (dialogueConfig.ResultOptions == null || dialogueConfig.ResultOptions.Length == 0)
         {
-            PlayDialogue(dialogueConfig.ResultOptions);
+            if (dialogueConfig.optionType == 2)
+            {
+                if (isCombatWin)
+                {
+                    PlayDialogue(dialogueConfig.ResultOptions[0]);
+                }
+                else
+                {
+                    PlayDialogue(dialogueConfig.ResultOptions[1]);
+                }
+            }
+            else
+            {
+                PlayDialogue(dialogueConfig.ResultOptions[0]);
+            }
         }
         else
         {

+ 2 - 33
Assets/Scripts/GameUI/UI/CombatPanel/CombatPanel.cs

@@ -45,7 +45,6 @@ namespace Fort23.Mono
 
         protected override void AddEvent()
         {
-            CombatEventManager.Instance.AddEventListener(CombatEventType.AddRandomEvent, AddRandomEventEventData);
             CombatEventManager.Instance.AddEventListener(CombatEventType.AddMagicWeaponHeroEntity,
                 AddMagicWeaponHeroEntity);
             CombatEventManager.Instance.AddEventListener(CombatEventType.AddUseGongFa, AddUseGongFa);
@@ -56,7 +55,6 @@ namespace Fort23.Mono
 
         protected override void DelEvent()
         {
-            CombatEventManager.Instance.RemoveEventListener(CombatEventType.AddRandomEvent, AddRandomEventEventData);
             CombatEventManager.Instance.RemoveEventListener(CombatEventType.AddMagicWeaponHeroEntity,
                 AddMagicWeaponHeroEntity);
             CombatEventManager.Instance.RemoveEventListener(CombatEventType.AddUseGongFa, AddUseGongFa);
@@ -92,16 +90,7 @@ namespace Fort23.Mono
             // shengShiEventWidget.InitShengShiEventWidget(configId);
         }
 
-        private async void AddRandomEventEventData(IEventData ieveData)
-        {
-            AddRandomEventEventData eventData = ieveData as AddRandomEventEventData;
-            int configId = eventData.randomEventID;
-            ShengShiEventWidget shengShiEventWidget =
-                await UIManager.Instance.CreateGComponentForObject<ShengShiEventWidget>(ShengShiEventWidget, null,
-                    DynamicEvent,
-                    isInstance: true);
-            shengShiEventWidget.InitShengShiEventWidget(configId);
-        }
+ 
 
         public async CTask ShowPanel()
         {
@@ -126,7 +115,6 @@ namespace Fort23.Mono
 
         public override void AddButtonEvent()
         {
-            bnt_shengShi.onClick.AddListener(Bnt_shengShi_onClick);
             CameraSelect.onValueChanged.AddListener(CameraSelect_onValueChanged);
             AutoUse.onValueChanged.AddListener((x) =>
             {
@@ -136,26 +124,7 @@ namespace Fort23.Mono
         }
 
 
-        private async void Bnt_shengShi_onClick()
-        {
-            UIManager.Instance.DormancyAllGComponent<ShengShiEventWidget>();
-            CombatController.currActiveCombat.CombatSenceController.StartPayShengShi(CombatController.currActiveCombat
-                .CombatHeroController.playerHeroEntity.GameObject.transform);
-            List<EventConfig> eventConfigs = EventSystemManager.Instance.UseDivinesense(1);
-            if (eventConfigs == null || eventConfigs.Count == 0)
-                return;
-            for (var i = 0; i < eventConfigs.Count; i++)
-            {
-                ShengShiEventWidget shengShiEventWidget =
-                    await UIManager.Instance.CreateGComponentForObject<ShengShiEventWidget>(ShengShiEventWidget, null,
-                        DynamicEvent,
-                        isInstance: true);
-                shengShiEventWidget.InitShengShiEventWidget(eventConfigs[i].ID);
-            }
-            //
-            // CombatController.currActiveCombat.RandomEventController.StartRandomEvent(CombatController.currActiveCombat
-            //     .CombatHeroController.playerHeroEntity.GameObject.transform);
-        }
+
 
         private void CameraSelect_onValueChanged(float value)
         {