123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179 |
- using UnityEngine;
- using UnityEngine.EventSystems;
- using System.Collections;
- using System.Collections.Generic;
- public class Star : MonoBehaviour, IPointerClickHandler
- {
- #region Config
- 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 = () =>
- {
- ResourceManager.Save(gameObject, true);
- GardenManager.StarList.Remove(this);
- };
- }
- return SpriteRenderer_;
- }
- set { SpriteRenderer_ = value; }
- }
- public Rigidbody2D Rigidbody_;
- public BoxCollider2D BoxCollider_;
- public SpriteRenderer SpriteRenderer_;
- public static float Time;
- public float Timer;
- public float MinSpeed = 1.5f;
- public float MaxSpeed = 3f;
- public float YSpeed = 6f;
- public float YFreezePosition;
- public static float MinigameCD;
- #endregion
- public void Update()
- {
- Timer += UnityEngine.Time.deltaTime;
-
- if (Timer >= Time)
- {
- Timer = 0;
- SpriteRenderer.TweenBacSr();
- }
- if (transform.position.y <= YFreezePosition - 0.1f)
- {
- Rigidbody.velocity = new Vector2();
- Rigidbody.isKinematic = true;
- }
- }
- public void Init(float freezY, bool forceLeft, bool forceRight)
- {
- AudioManager.PlayClip(AudioLabel.Bubble);
- float speedX = Mathf.Lerp(MinSpeed, MaxSpeed, Random.Range(0f, 1f));
- if (forceLeft)
- {
- speedX = -speedX;
- }
- else if (forceRight)
- {
-
- }
- else
- {
- if (Random.Range(0f, 1f) < 0.5f)
- {
- speedX = -speedX;
- }
- }
- Rigidbody.velocity = new Vector2(speedX, YSpeed);
- Rigidbody.isKinematic = false;
- BoxCollider.enabled = true;
- Timer = 0;
- YFreezePosition = freezY;
- SpriteRenderer.GetTweenSr().InDestination = true;
- SpriteRenderer.GetTweenScale().InOrigin = true;
- SpriteRenderer.TweenForScale();
- }
- public void OnPointerClick(PointerEventData eventData)
- {
- AudioManager.PlayClip(AudioLabel.GetCurrent);
- Rigidbody.velocity = new Vector2();
- Rigidbody.isKinematic = true;
- BoxCollider.enabled = false;
- InfoBoxManager.GardenInfoBox.Display(Language.GetStr(LanguageLabel.Object__Star) + MinigameCD.ToString("0") + Auxiliary.GetUnit((int)MinigameCD, Unit.Second), 10f, Color.white, ResourceManager.LoadSprite("Atlas", Folder.Atlas));
- Move2D move2D = new Move2D(transform);
- move2D.Restrain2D = Restrain2D.Y;
- Vector3 destination = PlayerManager.Player.ChildDic[PlayerLabel.EnterGameTra].position;
- move2D.StartMove(destination, 0.5f, false, Curve.EaseOutQuad);
- move2D = new Move2D(transform);
- move2D.Restrain2D = Restrain2D.X;
- destination = PlayerManager.Player.ChildDic[PlayerLabel.EnterGameTra].position;
- move2D.StartMove(destination, 0.5f, false, Curve.Linear);
- DelayCall.Call
- (
- 0.4f,
- () =>
- {
- SpriteRenderer.TweenBacSr();
- Manager.MinigameCDTimer -= MinigameCD;
- }
- );
- }
- }
|