using UnityEngine; using UnityEngine.EventSystems; using System.Collections; using System.Collections.Generic; public class Drop : ObjRoot,IPointerClickHandler { #region 变量 public float Timer; public float Speed; public bool Move; #endregion public override void RegistImmed() { enabled = true; transform.CreateTweenSr(new Color(1, 1, 1, 1), new Color(1, 1, 1, 0), 0.25f, true, false, Curve.EaseOutQuad); Tween tween = transform.CreateTweenScale(new Vector3(0.8f, 0.8f, 0.8f), new Vector3(1.2f, 1.2f, 1.2f), 0.25f, true, false, Curve.EaseOutQuad); tween.OnForwardFinish += () => { ManaReso.Save(this, false); }; } private void FixedUpdate() { Timer += Time.fixedDeltaTime; if (Timer > 5) { Retrieve(); } if (Move) { transform.Translate(Vector3.down * Time.fixedDeltaTime * Speed); } } public void ResetStatus() { Move = true; Timer = 0; Speed = Random.Range(3f, 5f); transform.localScale = new Vector3(0.8f, 0.8f, 0.8f); transform.GetTweenSr().InOrigin = true; GetComponent().SetAlpha(1); transform.SetCollider(true); } public void Retrieve() { transform.TweenConForSr(); transform.SetCollider(false); } public virtual void OnPointerClick(PointerEventData eventData) { Move = false; transform.TweenForSr(); transform.TweenForScale(); transform.SetCollider(false); } }