123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- using UnityEngine;
- using UnityEngine.EventSystems;
- using System.Collections;
- using System.Collections.Generic;
- public class Star : MonoBehaviour, IPointerClickHandler
- {
- #region 变量
- public Rigidbody2D Rigidbody
- {
- get
- {
- if (Rigidbody_ == null)
- {
- Rigidbody_ = GetComponent<Rigidbody2D>();
- }
- return Rigidbody_;
- }
- set { Rigidbody_ = value; }
- }
- public BoxCollider2D BoxCollider
- {
- get
- {
- if (BoxCollider_ == null)
- {
- BoxCollider_ = GetComponent<BoxCollider2D>();
- }
- return BoxCollider_;
- }
- set { BoxCollider_ = value; }
- }
- public SpriteRenderer SpriteRenderer
- {
- get
- {
- if (SpriteRenderer_ == null)
- {
- SpriteRenderer_ = GetComponentInChildren<SpriteRenderer>();
- SpriteRenderer_.CreateTweenScale(0, 0.75f, 0.25f, false, true, Curve.EaseOutQuad);
- TweenRoot tween = SpriteRenderer_.CreateTweenSr(0, 1, 0.25f, true, false, Curve.EaseOutQuad);
- tween.OnBackwardFinish = () =>
- {
- ManaReso.Save(gameObject);
- ManaGarden.StarList.Remove(this);
- };
- }
- return SpriteRenderer_;
- }
- set { SpriteRenderer_ = value; }
- }
- public Rigidbody2D Rigidbody_;
- public BoxCollider2D BoxCollider_;
- public SpriteRenderer SpriteRenderer_;
- public float Timer;
- public float SpeedY = 6f;
- public float FreezeY;
- public static float CD;
- public static float Time;
- #endregion
- public void FixedUpdate()
- {
- Timer += UnityEngine.Time.fixedDeltaTime;
-
- if (Timer >= Time)
- {
- Timer = 0;
- SpriteRenderer.TweenBacSr();
- }
- if (transform.position.y <= FreezeY - 0.1f)
- {
- Rigidbody.velocity = new Vector2();
- Rigidbody.isKinematic = true;
- }
- }
- public void Initialize(float freezY)
- {
- ManaAudio.PlayClip(Clip.BubbleClip);
- float speedX = Mathf.Lerp(1.5f, 3f, Random.Range(0f, 1f));
- if (Random.Range(0f,1f) < 0.5f)
- {
- speedX = -speedX;
- }
- Rigidbody.velocity = new Vector2(speedX, SpeedY);
- Rigidbody.isKinematic = false;
- BoxCollider.enabled = true;
- Timer = 0;
- FreezeY = freezY;
- SpriteRenderer.GetTweenSr().InDestination = true;
- SpriteRenderer.GetTweenScale().InOrigin = true;
- SpriteRenderer.TweenForScale();
- }
- public void OnPointerClick(PointerEventData eventData)
- {
- ManaAudio.PlayClip(Clip.CurrentClip);
- Rigidbody.velocity = new Vector2();
- Rigidbody.isKinematic = true;
- BoxCollider.enabled = false;
- ManaInfo.Show(Language.GetStr("Object", "Star") + CD.ToString("0") + Auxiliary.GetUnit((int)CD, Unit.Second), 10f);
- ManaCenter.MiniTimer -= CD;
- SpriteRenderer.TweenBacSr();
- }
- }
|