123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- using UnityEngine;
- using UnityEngine.EventSystems;
- using System.Collections;
- using System.Collections.Generic;
- public class Drop : Regist,IPointerClickHandler
- {
- #region Config
- public float Timer;
- public float Speed;
- 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);
- }
- private float MinSpeed = 3;
- private float MaxSpeed = 5;
- public void ResetStatus()
- {
- MoveLock = true;
- Timer = 0;
- Speed = Random.Range(MinSpeed, MaxSpeed);
- transform.localScale = new Vector3(0.8f, 0.8f, 0.8f);
- transform.SetCollider(true);
- transform.GetTweenSr().InOrigin = true;
- }
- private float MaxLiveTime = 5;
- public void Update()
- {
- if (!MiniGameManager.Pause)
- {
- Timer += Time.deltaTime;
- if (Timer > MaxLiveTime)
- {
- Retrieve();
- MiniGameManager.DropList.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.DropList.Remove(this);
- }
- }
|