using UnityEngine; using UnityEngine.EventSystems; using System.Collections; using System.Collections.Generic; public class Drop : Regist,IPointerClickHandler { #region 变量 public float Timer; public float Speed; public bool MoveLock; #endregion public override bool RegistImmed() { if (base.RegistImmed()) { 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 += () => { ManaReso.Save(this); }; return false; } public void Retrieve() { MoveLock = false; transform.TweenForSr(); transform.TweenForScale(); transform.SetCollider(false); } public void ResetStatus() { MoveLock = true; Timer = 0; Speed = Random.Range(3f, 5f); transform.localScale = new Vector3(0.8f, 0.8f, 0.8f); transform.SetCollider(true); transform.GetTweenSr().InOrigin = true; } public void FixedUpdate() { Timer += Time.fixedDeltaTime; if (Timer > 5) { Retrieve(); ManaMiniGame.DropList.Remove(this); } if (MoveLock) { if (!ManaMiniGame.Pause) { transform.Translate(Vector3.down * Time.fixedDeltaTime * Speed); } } } public virtual void OnPointerClick(PointerEventData eventData) { ManaAudio.PlayClip(Clip.CurrentClip); MoveLock = false; transform.TweenForSr(); transform.TweenForScale(); transform.SetCollider(false); ManaMiniGame.DropList.Remove(this); } }