61 lines
1.4 KiB
C#
61 lines
1.4 KiB
C#
using UnityEngine;
|
|
|
|
public class ChristmasSockObject : MonoBehaviour
|
|
{
|
|
[SerializeField]
|
|
private int sockIndex;
|
|
|
|
[SerializeField]
|
|
private GameObject sockGetShowKeyPrefab;
|
|
|
|
private GameObject currentGetShowKeyInfo;
|
|
|
|
private void Start()
|
|
{
|
|
Invoke("LoadSocks", 0.1f);
|
|
}
|
|
|
|
private void LoadSocks()
|
|
{
|
|
if (Singleton<SaveDataManager>.Instance.GetCurrentPlayerData().ChristmasData.sockCollectId.Contains(sockIndex))
|
|
{
|
|
Object.Destroy(base.gameObject);
|
|
}
|
|
}
|
|
|
|
private void Update()
|
|
{
|
|
if ((bool)currentGetShowKeyInfo && Input.GetKeyDown(KeyCode.E))
|
|
{
|
|
GetSock();
|
|
}
|
|
}
|
|
|
|
private void OnTriggerEnter(Collider other)
|
|
{
|
|
if (other.gameObject.layer == LayerMask.NameToLayer("Player") && !currentGetShowKeyInfo)
|
|
{
|
|
currentGetShowKeyInfo = Object.Instantiate(sockGetShowKeyPrefab, FScriptsHandler.Instance.m_Canvas.transform);
|
|
}
|
|
}
|
|
|
|
private void OnTriggerExit(Collider other)
|
|
{
|
|
if (other.gameObject.layer == LayerMask.NameToLayer("Player") && (bool)currentGetShowKeyInfo)
|
|
{
|
|
Object.Destroy(currentGetShowKeyInfo.gameObject);
|
|
currentGetShowKeyInfo = null;
|
|
}
|
|
}
|
|
|
|
private void GetSock()
|
|
{
|
|
ChristmasEventManager christmasEventManager = Object.FindObjectOfType<ChristmasEventManager>();
|
|
christmasEventManager.PlayGetSockSound();
|
|
christmasEventManager.AddSock(sockIndex);
|
|
christmasEventManager.RefreshData();
|
|
Object.Destroy(currentGetShowKeyInfo.gameObject);
|
|
Object.Destroy(base.gameObject);
|
|
}
|
|
}
|