Selaa lähdekoodia

添加第一场战斗有引导

lzx 2 päivää sitten
vanhempi
commit
53c640e7c3

+ 1 - 1
Assets/Art/VFX/Materials/UIMat/ui_ob_yindao_glow_add.mat

@@ -57,7 +57,7 @@ Material:
         m_Offset: {x: 0, y: 0}
     m_Ints: []
     m_Floats:
-    - _Alpha: 0
+    - _Alpha: 0.5207902
     - _AlphaCutoff: 0.5
     - _ColorMask: 15
     - _EnableExternalAlpha: 0

+ 1 - 1
Assets/Art/VFX/Materials/UIMat/ui_ob_yindao_quan.mat

@@ -57,7 +57,7 @@ Material:
         m_Offset: {x: 0, y: 0}
     m_Ints: []
     m_Floats:
-    - _Alpha: 0
+    - _Alpha: 0.2276597
     - _AlphaCutoff: 0.5
     - _ColorMask: 0
     - _EnableExternalAlpha: 0

+ 2 - 2
Assets/Res/UI/GuidePanel/GuidePanel.prefab

@@ -1913,7 +1913,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 1
+  m_IsActive: 0
 --- !u!224 &5563397094415776362
 RectTransform:
   m_ObjectHideFlags: 0
@@ -2194,7 +2194,7 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   m_Material: {fileID: 2100000, guid: 168582cc17566104199cb21615d5945e, type: 2}
-  m_Color: {r: 0, g: 0, b: 0, a: 0.69803923}
+  m_Color: {r: 0, g: 0, b: 0, a: 0.003921569}
   m_RaycastTarget: 1
   m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
   m_Maskable: 1

+ 8 - 4
Assets/Scripts/GameUI/UI/CombatPanel/CombatPanel.cs

@@ -19,6 +19,8 @@ namespace Fort23.Mono
     {
         private ZhuanPanPanel zhuanPanLogic;
         private HeroHpWidget playerHeroHpWidget;
+        
+        public List<MagicWeaponWidget> magicWeapons = new List<MagicWeaponWidget>();
 
         public static async CTask OpenCombatPanel()
         {
@@ -41,10 +43,10 @@ namespace Fort23.Mono
                     CombatDrive.Instance.CombatController.CombatTypeBasic as LevelBattleCombatType;
                 if (levelBattleCombatType.levelbattleConfig.ID == 10001)
                 {
-                    // if (PlayerGuideManager.Instance.GuideIsCanDo(5))
-                    // {
-                    //     PlayerGuideManager.Instance.SetGuid(5);
-                    // }
+                    if (PlayerGuideManager.Instance.GuideIsCanDo(9))
+                    {
+                        PlayerGuideManager.Instance.SetGuid(9);
+                    }
                 }
             }
 
@@ -66,6 +68,7 @@ namespace Fort23.Mono
             UIManager.Instance.DormancyGComponent(playerHeroHpWidget);
             playerHeroHpWidget = null;
             UIManager.Instance.DormancyAllGComponent<MagicWeaponWidget>();
+            magicWeapons.Clear();
         }
 
         protected override void AddEvent()
@@ -140,6 +143,7 @@ namespace Fort23.Mono
                     await UIManager.Instance.CreateGComponentForObject<MagicWeaponWidget>(MagicWeaponWidget, null,
                         MagicWeapon,
                         isInstance: true);
+                magicWeapons.Add(shengShiEventWidget);
                 shengShiEventWidget.InitWidget(weaponEntity);
             }
 

+ 4 - 0
Assets/Scripts/GameUI/UI/CombatPanel/MagicWeaponWidget.cs

@@ -118,6 +118,10 @@ namespace Fort23.Mono
                     return;
                 }
 
+                if (PlayerGuideManager.Instance.GuideIsCanDo(9,1))
+                {
+                    PlayerGuideManager.Instance.NextGuide();
+                }
                 combatMagicWeaponEntity.UseMagicWeapon();
             });
         }

+ 52 - 13
Assets/Scripts/GameUI/UI/GuidePanel/Phases/Phase9.cs

@@ -1,4 +1,5 @@
-using Fort23.Core;
+using Common.Utility.CombatEvent;
+using Fort23.Core;
 using Fort23.UTool;
 using GameLogic.Combat;
 using GameLogic.Combat.CombatTool;
@@ -29,7 +30,7 @@ namespace Fort23.Mono.Phases
 
         public override void Begin()
         {
-            guideID =9;
+            guideID = 9;
             guideIdx = -1;
             pgm.isForceDone = false;
             pgm.isTriggerDone = false;
@@ -66,6 +67,7 @@ namespace Fort23.Mono.Phases
         {
         }
 
+        private CTask ctask = null;
 
         /// <summary>
         /// 点击宝箱
@@ -74,8 +76,14 @@ namespace Fort23.Mono.Phases
         public async CTask OnStep901(UnityEngine.Object obj)
         {
             pgm.StepInit();
-            await TimerComponent.Instance.WaitAsync(100);
-            GameObject gameObject = UIManager.Instance.GetComponent<MainPanel>().Btn_Box.gameObject;
+            pgm.SetOnClickMask(true);
+            CombatEventManager.Instance.AddEventListener(CombatEventType.MagicWeaponCDFinish,
+                MagicWeaponCDFinishEvent);
+            ctask = CTask.Create();
+            await ctask;
+            pgm.SetOnClickMask(false);
+            CombatController.currActiveCombat.isUpdate = false;
+            GameObject gameObject = UIManager.Instance.GetComponent<CombatPanel>().magicWeapons[0].own;
             Vector3 localPos = pgm.WorldPosToLocalPos(gameObject.transform.position);
             Vector2 size = gameObject.GetComponent<RectTransform>().sizeDelta;
 
@@ -88,30 +96,61 @@ namespace Fort23.Mono.Phases
             pgm.SetFingerVisiable(true);
         }
 
+        private void MagicWeaponCDFinishEvent(IEventData e)
+        {
+            ctask.SetResult();
+        }
+
         /// <summary>
         /// 点十连抽
         /// </summary>
         /// <param name="obj"></param>
         public async CTask OnStep902(UnityEngine.Object obj)
         {
+            CombatController.currActiveCombat.isUpdate = true;
             pgm.StepInit();
+            pgm.SetOnClickMask(true);
+            CombatEventManager.Instance.AddEventListener(CombatEventType.FaBaoDuiPingStart,
+                FaBaoDuiPingStartEvent);
             await TimerComponent.Instance.WaitAsync(100);
-            GameObject gameObject = UIManager.Instance.GetComponent<BoxPanel>().oneButton.gameObject;
-            Vector3 localPos = pgm.WorldPosToLocalPos(gameObject.transform.position);
-            Vector2 size = gameObject.GetComponent<RectTransform>().sizeDelta;
+            ctask = CTask.Create();
+            await ctask;
+            CombatController.currActiveCombat.isUpdate = false;
+            pgm.SetOnClickMask(false);
+            // GameObject gameObject = UIManager.Instance.GetComponent<BoxPanel>().oneButton.gameObject;
+            // Vector3 localPos = pgm.WorldPosToLocalPos(gameObject.transform.position);
+            // Vector2 size = gameObject.GetComponent<RectTransform>().sizeDelta;
+            //
+            // pgm.SetfxTransVisiable(true);
+            // pgm.SetShowFramePosAndSize(localPos, size, 0, gameObject);
+            await pgm.ConfigLogic(902, delegate() { pgm.NextGuide(); });
+        }
 
-            pgm.SetfxTransVisiable(true);
-            pgm.SetMaskTarget(gameObject);
-            pgm.SetShowFramePosAndSize(localPos, size, 0, gameObject);
-            await pgm.ConfigLogic(902, delegate() { });
+        private void FaBaoDuiPingStartEvent(IEventData e)
+        {
+            ctask.SetResult();
+            FaBaoDuiPingStartEventData faBaoDuiPingStartEventData = (FaBaoDuiPingStartEventData)e;
 
-            pgm.SetFingerPos(localPos);
-            pgm.SetFingerVisiable(true);
+            Vector3 localPos =
+                UIManager.Instance.CurrCustomCameraStack.camera.WorldToScreenPoint(faBaoDuiPingStartEventData
+                    .MagicWeaponCollisionInfo.a.dotPos);
+
+            localPos = UIManager.Instance.UICamera.ScreenToWorldPoint(localPos);
+
+            localPos = pgm.WorldPosToLocalPos(localPos);
+
+            pgm.SetfxTransVisiable(true);
+            pgm.SetShowFramePosAndSize(localPos, new Vector2(150, 150), 0);
         }
 
 
         public async CTask OnStepEnd(UnityEngine.Object obj)
         {
+            CombatController.currActiveCombat.isUpdate = true;
+            CombatEventManager.Instance.RemoveEventListener(CombatEventType.MagicWeaponCDFinish,
+                MagicWeaponCDFinishEvent);
+            CombatEventManager.Instance.RemoveEventListener(CombatEventType.FaBaoDuiPingStart,
+                FaBaoDuiPingStartEvent);
             pgm.StepInit();
             pgm.SetBlackBaseVisiable(false);
 

+ 7 - 7
Assets/Scripts/GameUI/UI/GuidePanel/PlayerGuideManager.cs

@@ -262,13 +262,13 @@ namespace Fort23.Mono
             GuidePanel guidePanel = UIManager.Instance.GetComponent<GuidePanel>();
             if (guidePanel != null)
                 guidePanel.Btn_Skip.gameObject.SetActive(false);
-            _timerEntity?.Dispose();
-            _timerEntity = null;
-            _timerEntity = TimerComponent.Instance.AddTimer(10000, () =>
-            {
-                if (UIManager.Instance.GetComponent<GuidePanel>() != null)
-                    UIManager.Instance.GetComponent<GuidePanel>().Btn_Skip.gameObject.SetActive(true);
-            });
+            // _timerEntity?.Dispose();
+            // _timerEntity = null;
+            // _timerEntity = TimerComponent.Instance.AddTimer(10000, () =>
+            // {
+            //     if (UIManager.Instance.GetComponent<GuidePanel>() != null)
+            //         UIManager.Instance.GetComponent<GuidePanel>().Btn_Skip.gameObject.SetActive(true);
+            // });
         }
 
         /// <summary>