123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196 |
- using UnityEngine;
- using UnityEngine.EventSystems;
- using System.Collections;
- using System.Collections.Generic;
- public class Chest : MonoBehaviour, IPointerClickHandler
- {
- #region 变量
- public Animator Animator
- {
- get
- {
- if (Animator_ == null)
- {
- Animator_ = GetComponent<Animator>();
- }
- return Animator_;
- }
- set { Animator_ = value; }
- }
- 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 = () =>
- {
- Animator.SetInteger("Count", 2);
- ManaReso.Save(gameObject, true);
- };
- }
- return SpriteRenderer_;
- }
- set { SpriteRenderer_ = value; }
- }
- public Animator Animator_;
- public Rigidbody2D Rigidbody_;
- public BoxCollider2D BoxCollider_;
- public SpriteRenderer SpriteRenderer_;
- public float Timer;
- public float SpeedY = 6f;
- public float FreezeY;
- public static float Time = 5;
- #endregion
- public void Update()
- {
- Timer += UnityEngine.Time.deltaTime;
- if (Timer >= Time)
- {
- Timer = 0;
- Animator.SetInteger("Count", 0);
- }
- if (transform.position.y <= FreezeY - 0.1f)
- {
- Rigidbody.velocity = new Vector2();
- Rigidbody.isKinematic = true;
- }
- }
- public void Initialize(float freezY, bool forceLeft, bool forceRight)
- {
- ManaAudio.PlayClip(Clip.BubbleClip);
- float speedX = Mathf.Lerp(1.5f, 3f, 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, 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;
- Bubble.Show
- (
- Language.GetStr("Object", "Chest"),
- null,
- ManaReso.LoadSprite("宝箱", Folder.Scene),
- () =>
- {
- ManaIAP.PlayAD
- (
- () =>
- {
- BoxCollider.enabled = false;
- SpriteRenderer.TweenBacSr();
- ManaIAP.ChestList.Remove(this);
- ManaReso.Get("C_Group").TweenBacCG();
- ManaReso.Get("B_SignIn").TweenForCG();
- Lottery.EnterAnimation(false);
- }
- );
- }
- );
- }
- public void OnFinish()
- {
- Animator.SetInteger("Count", Animator.GetInteger("Count") + 1);
- }
- }
|