77 lines
1.8 KiB
C#
77 lines
1.8 KiB
C#
using GUPS.AntiCheat.Protected;
|
|
using System.Collections;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
public class LuckyGameObj : MonoBehaviour
|
|
{
|
|
public Image m_image;
|
|
public GameObject go_effect;
|
|
public Rigidbody2D m_Rigidbody2D;
|
|
|
|
ProtectedInt32 m_Amount;
|
|
bool isCollision;
|
|
|
|
public void Init(Vector3 pos)
|
|
{
|
|
transform.localPosition = pos;
|
|
|
|
isCollision = false;
|
|
m_image.enabled = true;
|
|
go_effect.SetActive(false);
|
|
m_Amount = 1; m_Amount.Obfuscate();
|
|
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);
|
|
}
|
|
|
|
private void OnCollisionEnter2D(Collision2D collision)
|
|
{
|
|
if (isCollision || collision == null) return;
|
|
|
|
switch (collision.collider.tag)
|
|
{
|
|
case "Player":
|
|
Set_Collision(m_Amount);
|
|
break;
|
|
case "Finish":
|
|
Set_Collision(0);
|
|
break;
|
|
}
|
|
}
|
|
|
|
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;
|
|
}
|
|
}
|
|
|
|
void Set_Collision(int amount)
|
|
{
|
|
SoundInfo.Ins.Play_OneShot((eSound)Random.Range(16, 19));
|
|
LobbyUI.Ins.m_Game_Lucky.Add_Amount(amount);
|
|
m_image.enabled = false;
|
|
go_effect.SetActive(true);
|
|
isCollision = true;
|
|
}
|
|
} |