using Fort23.Core;
using Fort23.UTool;
using GameLogic.Combat;
using GameLogic.Combat.CombatTool;
using UnityEngine;
using UnityEngine.UI;
namespace Fort23.Mono.Phases
{
public class Phase8 : IGuideLogic
{
public PlayerGuideManager pgm;
private bool once = false;
public Phase8(PlayerGuideManager guideManager)
{
this.pgm = guideManager;
once = true;
}
public override void Active()
{
base.Active();
actionList.Add(OnStep801);
actionList.Add(OnStep802);
actionList.Add(OnStep803);
actionList.Add(OnStepEnd);
}
public override void Begin()
{
guideID = 8;
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 OnStep801(UnityEngine.Object obj)
{
pgm.StepInit();
await TimerComponent.Instance.WaitAsync(100);
GameObject gameObject = UIManager.Instance.GetComponent().Btn_Box.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(801, delegate() { });
pgm.SetFingerPos(localPos);
pgm.SetFingerVisiable(true);
}
///
/// 点十连抽
///
///
public async CTask OnStep802(UnityEngine.Object obj)
{
pgm.StepInit();
await TimerComponent.Instance.WaitAsync(100);
GameObject gameObject = UIManager.Instance.GetComponent().tenButton.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(602, delegate() { });
pgm.SetFingerPos(localPos);
pgm.SetFingerVisiable(true);
}
///
/// 点空关闭
///
///
public async CTask OnStep803(UnityEngine.Object obj)
{
pgm.StepInit();
await pgm.ConfigLogic(803, delegate() { pgm.NextGuide(); });
UIManager.Instance.HideUIUIPanel();
UIManager.Instance.HideUIUIPanel();
}
public async CTask OnStepEnd(UnityEngine.Object obj)
{
pgm.StepInit();
pgm.SetBlackBaseVisiable(false);
ForceGuideOver();
}
///
/// 引导完成
///
private void ForceGuideOver()
{
pgm.CloseForceGuide();
pgm.RestGuide();
}
}
}