Files
2026-03-04 10:03:45 +08:00

89 lines
2.3 KiB
C#

using UnityEngine;
using UnityEngine.UI;
public class HalloweenPrize : MonoBehaviour
{
[SerializeField]
private Text itemNameText;
[SerializeField]
private Text closeText;
[SerializeField]
private Sprite[] prizeTypeSprite;
[SerializeField]
private GameManager.ItemType[] prizeItemType;
[SerializeField]
private int[] prizeGameId;
private bool isClose;
private void Start()
{
closeText.enabled = false;
FScriptsHandler.Instance.m_PlayerMain.firstPersonController.frezzePosition = true;
FScriptsHandler.Instance.m_PlayerMain.firstPersonController.frezzeRotation = true;
}
private void Update()
{
if (isClose && Input.anyKeyDown)
{
FScriptsHandler.Instance.m_PlayerMain.firstPersonController.UnFrezzeLook();
Object.Destroy(base.gameObject);
}
}
public void Setup(int prizeIndex)
{
GetComponent<Image>().sprite = prizeTypeSprite[prizeIndex];
itemNameText.text = GameManager.Instance.GetGameItemName(prizeItemType[prizeIndex], prizeGameId[prizeIndex]);
switch (prizeItemType[prizeIndex])
{
case GameManager.ItemType.Rod:
{
GameManager.PlayerData.CRods cRods = new GameManager.PlayerData.CRods();
cRods.amount = 1;
cRods.ID = prizeGameId[prizeIndex];
cRods.wear = 100;
cRods.buyPrice = 0f;
cRods.uniqueId = GameManager.GetUniqueNumber();
Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerRods.Add(cRods);
break;
}
case GameManager.ItemType.Reel:
{
GameManager.PlayerData.CReels cReels = new GameManager.PlayerData.CReels();
cReels.amount = 1;
cReels.ID = prizeGameId[prizeIndex];
cReels.wear = 100;
cReels.buyPrice = 0f;
cReels.uniqueId = GameManager.GetUniqueNumber();
Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerReels.Add(cReels);
break;
}
case GameManager.ItemType.Float:
{
GameManager.PlayerData.CFloats cFloats = new GameManager.PlayerData.CFloats();
cFloats.amount = 1;
cFloats.ID = prizeGameId[prizeIndex];
cFloats.wear = 100;
cFloats.buyPrice = 0f;
cFloats.uniqueId = GameManager.GetUniqueNumber();
Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().PlayerFloats.Add(cFloats);
break;
}
case GameManager.ItemType.Line:
break;
}
}
public void ShowClose()
{
isClose = true;
closeText.enabled = true;
}
}