|  | @@ -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);
 | 
	
		
			
				|  |  |  
 |