Shegotwet/Assets/Scripts/Game/LuckyGameObj.cs

77 lines
1.8 KiB
C#
Raw Normal View History

2025-09-12 19:39:24 +00:00
using GUPS.AntiCheat.Protected;
2025-09-12 20:15:49 +00:00
using System.Collections;
2025-09-12 19:39:24 +00:00
using UnityEngine;
2025-09-12 19:51:36 +00:00
using UnityEngine.UI;
2025-09-12 19:39:24 +00:00
public class LuckyGameObj : MonoBehaviour
{
2025-09-12 19:51:36 +00:00
public Image m_image;
public GameObject go_effect;
2025-09-12 20:15:49 +00:00
public Rigidbody2D m_Rigidbody2D;
2025-09-12 19:51:36 +00:00
2025-09-12 19:39:24 +00:00
ProtectedInt32 m_Amount;
2025-09-12 20:15:49 +00:00
bool isCollision;
2025-09-12 19:39:24 +00:00
public void Init(Vector3 pos)
{
2025-09-12 20:15:49 +00:00
transform.localPosition = pos;
isCollision = false;
2025-09-12 19:51:36 +00:00
m_image.enabled = true;
go_effect.SetActive(false);
2025-09-12 19:39:24 +00:00
m_Amount = 1; m_Amount.Obfuscate();
2025-09-12 20:15:49 +00:00
m_Rigidbody2D.bodyType = RigidbodyType2D.Dynamic;
}
public void StopObj()
{
m_Rigidbody2D.bodyType = RigidbodyType2D.Kinematic;
}
public void Tilt_Cup()
{
StartCoroutine(Co_Update());
}
IEnumerator Co_Update()
{
yield return new WaitForSeconds(20f);
if (!isCollision) Set_Collision(0);
2025-09-12 19:39:24 +00:00
}
private void OnCollisionEnter2D(Collision2D collision)
{
2025-09-12 20:15:49 +00:00
if (isCollision || collision == null) return;
2025-09-12 19:39:24 +00:00
2025-09-12 20:15:49 +00:00
switch (collision.collider.tag)
{
case "Player":
Set_Collision(m_Amount);
break;
case "Finish":
Set_Collision(0);
break;
2025-09-12 19:39:24 +00:00
}
}
2025-09-12 20:15:49 +00:00
2025-09-12 20:45:21 +00:00
private void OnTriggerEnter2D(Collider2D collision)
{
switch (collision.tag)
{
case "RandomBlock":
var lrb = collision.GetComponent<LuckyRandomBlock>();
m_Amount = lrb.Get_Value(m_Amount);
m_Amount.Obfuscate();
break;
}
}
2025-09-12 20:15:49 +00:00
void Set_Collision(int amount)
{
2025-09-19 20:24:20 +00:00
SoundInfo.Ins.Play_OneShot((eSound)Random.Range(16, 19));
2025-09-12 20:15:49 +00:00
LobbyUI.Ins.m_Game_Lucky.Add_Amount(amount);
m_image.enabled = false;
go_effect.SetActive(true);
isCollision = true;
}
2025-09-12 19:39:24 +00:00
}