Files
JJBB/Assets/Project/Script/GUI/Guide/LockPanelMissionHandle.cs
2024-08-23 15:49:34 +08:00

71 lines
1.8 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class LockPanelMissionHandle : MonoBehaviour
{
public GameObject _EffectPrefab;
public GameObject _Hand;
public Vector3 _StartPos = new Vector3(-240, 0, 0);
public Vector3 _EndPos = new Vector3(-453, 120, 0);
public float _MoveTime = 0.5f;
public float _ClickWaitTime = 1.0f;
private readonly List<GameObject> _EffectPoolList = new List<GameObject>();
private void OnEnable()
{
HideAllEffect();
Init();
}
public void OnDisable()
{
HideAllEffect();
}
private void Init()
{
_EffectPrefab.SetActive(false);
_Hand.transform.localPosition = _StartPos;
var args = new Hashtable();
args.Add("easeType", iTween.EaseType.easeOutQuad);
args.Add("time", _MoveTime);
args.Add("looptype", "none");
args.Add("islocal", true);
args.Add("position", _EndPos);
args.Add("oncomplete", "AnimationEnd");
iTween.MoveTo(_Hand.gameObject, args);
}
public void AnimationEnd()
{
CreateEffectPrefab();
StartCoroutine(CreateEffect());
}
public void CreateEffectPrefab()
{
_EffectPrefab.SetActive(true);
_EffectPrefab.transform.localPosition = new Vector3(_EndPos.x - 30, _EndPos.y + 40);
var effectCom = _EffectPrefab.GetComponentInChildren<ParticleSystem>();
if (effectCom == null)
return;
effectCom.Stop();
effectCom.Play();
}
private IEnumerator CreateEffect()
{
yield return new WaitForSeconds(_ClickWaitTime);
Init();
}
public void HideAllEffect()
{
for (var index = 0; index < _EffectPoolList.Count; index++) _EffectPoolList[index].gameObject.SetActive(false);
}
}