84 lines
1.8 KiB
C#
84 lines
1.8 KiB
C#
|
|
using System;
|
|||
|
|
using System.Collections;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using UnityEngine;
|
|||
|
|
using UnityEngine.UI;
|
|||
|
|
using DG.Tweening;
|
|||
|
|
|
|||
|
|
public class GuideStep : MonoBehaviour
|
|||
|
|
{
|
|||
|
|
public Action<int, bool> DelStepDone;
|
|||
|
|
|
|||
|
|
public float FinishDelay = -1;
|
|||
|
|
public int ExcuteCount = 1;
|
|||
|
|
public bool AutoNext = true;
|
|||
|
|
|
|||
|
|
//[SerializeField] GameObject mGobClick;
|
|||
|
|
[SerializeField] Button mBtnOp;
|
|||
|
|
|
|||
|
|
//private RectTransform mRect;
|
|||
|
|
private int mIndex;
|
|||
|
|
|
|||
|
|
private void Awake()
|
|||
|
|
{
|
|||
|
|
//mRect = GetComponent<RectTransform>();
|
|||
|
|
|
|||
|
|
if (mBtnOp != null)
|
|||
|
|
{
|
|||
|
|
UIUtils.BindBtn(mBtnOp, FinishStep);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void InitStep(int pIndex)
|
|||
|
|
{
|
|||
|
|
mIndex = pIndex;
|
|||
|
|
ShowStep(false);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void StartStep(Vector3 pScreen = default)
|
|||
|
|
{
|
|||
|
|
ShowStep(true);
|
|||
|
|
|
|||
|
|
//if (pScreen != default)
|
|||
|
|
//{
|
|||
|
|
// Vector2 position;
|
|||
|
|
// if (RectTransformUtility.ScreenPointToLocalPointInRectangle(mRect, pScreen, null, out position))
|
|||
|
|
// {
|
|||
|
|
// mGobClick.GetComponent<RectTransform>().localPosition = position;
|
|||
|
|
// }
|
|||
|
|
//}
|
|||
|
|
|
|||
|
|
if (FinishDelay > 0)
|
|||
|
|
{
|
|||
|
|
CancelInvoke("FinishStep");
|
|||
|
|
Invoke("FinishStep", FinishDelay);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
DOTweenAnimation tAni = GetComponentInChildren<DOTweenAnimation>();
|
|||
|
|
if (tAni != null)
|
|||
|
|
{
|
|||
|
|
tAni.DOPlay();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void FinishStep()
|
|||
|
|
{
|
|||
|
|
ExcuteCount--;
|
|||
|
|
|
|||
|
|
if (ExcuteCount <= 0)
|
|||
|
|
{
|
|||
|
|
DelStepDone?.Invoke(mIndex, AutoNext);
|
|||
|
|
ShowStep(false);
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
DelStepDone?.Invoke(mIndex, false);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private void ShowStep(bool pShow)
|
|||
|
|
{
|
|||
|
|
gameObject.SetActive(pShow);
|
|||
|
|
}
|
|||
|
|
}
|