using UnityEngine; using UnityEngine.EventSystems; using System.Collections; using System.Collections.Generic; public class Drop : Regist,IPointerClickHandler { #region Config public float LiveTime = 5; public float LiveTimer; public float Speed; private float MinSpeed = 3; private float MaxSpeed = 5; public bool MoveLock; #endregion public override bool InitAtOnce() { if (base.InitAtOnce()) { return true; } enabled = true; transform.CreateTweenSr(1, 0, 0.25f, true, false, Curve.EaseOutQuad); TweenRoot tween = transform.CreateTweenScale(0.8f, 1.2f, 0.25f, true, false, Curve.EaseOutQuad); tween.OnForwardFinish += () => { ResourceManager.Save(this); }; return false; } public void Retrieve() { MoveLock = false; transform.TweenForSr(); transform.TweenForScale(); transform.SetCollider(false); } public void ResetStatus() { MoveLock = true; LiveTimer = 0; Speed = Random.Range(MinSpeed, MaxSpeed); transform.localScale = new Vector3(0.8f, 0.8f, 0.8f); transform.SetCollider(true); transform.GetTweenSr().InOrigin = true; } public void Update() { if (!MiniGameManager.Pause) { LiveTimer += Time.deltaTime; if (LiveTimer > LiveTime) { Retrieve(); MiniGameManager.DropAwardList.Remove(this); } } if (MoveLock) { if (!MiniGameManager.Pause) { transform.Translate(Vector3.down * Time.deltaTime * Speed); } } } public virtual void OnPointerClick(PointerEventData eventData) { AudioManager.PlayClip(AudioLabel.GetCurrent); MoveLock = false; transform.TweenForSr(); transform.TweenForScale(); transform.SetCollider(false); MiniGameManager.DropAwardList.Remove(this); } }