smart-interactive-display/Assets/GadGame/Scripts/MiniGame/Item.cs

43 lines
887 B
C#
Raw Normal View History

2024-04-15 04:10:00 -07:00
using GadGame.Manager;
using Pools.Runtime;
using UnityEngine;
namespace GadGame.MiniGame
{
public class Item : MonoBehaviour, ICollect, IPoolable
2024-04-15 04:10:00 -07:00
{
[SerializeField] private int _score;
2024-04-15 20:57:02 -07:00
[SerializeField] private Rigidbody2D _rb;
private bool _inUsed;
2024-04-15 20:57:02 -07:00
public void Init(float gravityScale = 1)
{
_rb.gravityScale = gravityScale;
}
private void LateUpdate()
{
if (_inUsed && _rb.position.y <= -10)
2024-04-15 20:57:02 -07:00
{
this.Release();
}
}
2024-04-15 04:10:00 -07:00
public void Collect()
{
GameManager.Instance.UpdateScore(_score);
this.Release();
}
public void OnGet()
{
_inUsed = true;
}
public void OnRelease()
{
_inUsed = false;
}
2024-04-15 04:10:00 -07:00
}
}