using Fort23.Core; using Fort23.UTool; using GameLogic.Combat; using GameLogic.Combat.CombatTool; using UnityEngine; using UnityEngine.UI; namespace Fort23.Mono.Phases { /// /// 商店抽卡引导 /// public class Phase7 : IGuideLogic { public PlayerGuideManager pgm; private bool once = false; public Phase7(PlayerGuideManager guideManager) { this.pgm = guideManager; once = true; } public override void Active() { base.Active(); actionList.Add(OnStep701); actionList.Add(OnStep702); actionList.Add(OnStep703); actionList.Add(OnStep704); actionList.Add(OnStep705); actionList.Add(OnStep706); actionList.Add(OnStepEnd); } public override void Begin() { guideID = 7; guideIdx = -1; pgm.isForceDone = false; pgm.isTriggerDone = false; } public override void End() { } public override async CTask Guide() { if (actionList.Count > guideIdx) { pgm.ResetPlayerGuide(); guideIdx++; SaveStep(guideIdx); await actionList[guideIdx](null); } else { LogTool.Error("没有引导了,强制结束。出错步骤,:" + pgm.curPhase + guideIdx); pgm.isForceDone = true; } } public override void LogicRelase() { actionList.Clear(); } public override void LogicUpdate() { } /// /// 点击白嫖代金卷页签 /// /// public async CTask OnStep701(UnityEngine.Object obj) { pgm.StepInit(); await TimerComponent.Instance.WaitAsync(100); GameObject gameObject = UIManager.Instance.GetComponent()._shopBtnWidgets[0].own; Vector3 localPos = pgm.WorldPosToLocalPos(gameObject.transform.position); Vector2 size = gameObject.GetComponent().sizeDelta; pgm.SetfxTransVisiable(true); pgm.SetMaskTarget(gameObject); pgm.SetShowFramePosAndSize(localPos, size, 0, gameObject); await pgm.ConfigLogic(701, delegate() { }); pgm.SetFingerPos(localPos); pgm.SetFingerVisiable(true); } /// /// 点击十连抽 /// /// public async CTask OnStep702(UnityEngine.Object obj) { pgm.StepInit(); await TimerComponent.Instance.WaitAsync(100); GameObject gameObject = null; ShopPanel shopPanel = UIManager.Instance.GetComponent(); foreach (var shopPanelShopGroupWidgetType1 in shopPanel._shopGroupWidgetType1s) { if (shopPanelShopGroupWidgetType1 is ShopBoxWidget) { ShopBoxWidget shopBoxWidget = (ShopBoxWidget)shopPanelShopGroupWidgetType1; gameObject = shopBoxWidget.tenButton.gameObject; break; } } Vector3 localPos = pgm.WorldPosToLocalPos(gameObject.transform.position); Vector2 size = gameObject.GetComponent().sizeDelta; pgm.SetfxTransVisiable(true); pgm.SetMaskTarget(gameObject); pgm.SetShowFramePosAndSize(localPos, size, 0, gameObject); await pgm.ConfigLogic(702, delegate() { }); pgm.SetFingerPos(localPos); pgm.SetFingerVisiable(true); } /// /// 点击领取 /// /// public async CTask OnStep703(UnityEngine.Object obj) { pgm.StepInit(); await TimerComponent.Instance.WaitAsync(100); GameObject gameObject = UIManager.Instance.GetComponent().Btn_LingQu.gameObject; Vector3 localPos = pgm.WorldPosToLocalPos(gameObject.transform.position); Vector2 size = gameObject.GetComponent().sizeDelta; pgm.SetfxTransVisiable(true); pgm.SetMaskTarget(gameObject); pgm.SetShowFramePosAndSize(localPos, size, 0, gameObject); await pgm.ConfigLogic(703, delegate() { }); pgm.SetFingerPos(localPos); pgm.SetFingerVisiable(true); } /// /// 点击兑换商店 /// /// public async CTask OnStep704(UnityEngine.Object obj) { pgm.StepInit(); await TimerComponent.Instance.WaitAsync(100); GameObject gameObject = UIManager.Instance.GetComponent()._shopBtnWidgets[1].own; Vector3 localPos = pgm.WorldPosToLocalPos(gameObject.transform.position); Vector2 size = gameObject.GetComponent().sizeDelta; pgm.SetfxTransVisiable(true); pgm.SetMaskTarget(gameObject); pgm.SetShowFramePosAndSize(localPos, size, 0, gameObject); await pgm.ConfigLogic(704, delegate() { }); pgm.SetFingerPos(localPos); pgm.SetFingerVisiable(true); } /// /// 点击姚丹 /// /// public async CTask OnStep705(UnityEngine.Object obj) { pgm.StepInit(); await TimerComponent.Instance.WaitAsync(100); GameObject gameObject = (UIManager.Instance.GetComponent()._shopGroupWidgetType1s[0] as ShopGroupWidgetType1) ._shopItemWidgetType2s[4].own; Vector3 localPos = pgm.WorldPosToLocalPos(gameObject.transform.position); Vector2 size = gameObject.GetComponent().sizeDelta; pgm.SetfxTransVisiable(true); pgm.SetMaskTarget(gameObject); pgm.SetShowFramePosAndSize(localPos, size, 0, gameObject); await pgm.ConfigLogic(705, delegate() { }); pgm.SetFingerPos(localPos); pgm.SetFingerVisiable(true); } /// /// 点击购买 /// /// public async CTask OnStep706(UnityEngine.Object obj) { pgm.StepInit(); await TimerComponent.Instance.WaitAsync(100); GameObject gameObject = UIManager.Instance.GetComponent().Btn_Function.gameObject; Vector3 localPos = pgm.WorldPosToLocalPos(gameObject.transform.position); Vector2 size = gameObject.GetComponent().sizeDelta; pgm.SetfxTransVisiable(true); pgm.SetMaskTarget(gameObject); pgm.SetShowFramePosAndSize(localPos, size, 0, gameObject); await pgm.ConfigLogic(706, delegate() { }); pgm.SetFingerPos(localPos); pgm.SetFingerVisiable(true); UIManager.Instance.HideUIUIPanel(); } public async CTask OnStepEnd(UnityEngine.Object obj) { pgm.StepInit(); pgm.SetBlackBaseVisiable(false); ForceGuideOver(); } /// /// 引导完成 /// private void ForceGuideOver() { pgm.CloseForceGuide(); pgm.RestGuide(); } } }