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.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.PlayGetSockSound(); christmasEventManager.AddSock(sockIndex); christmasEventManager.RefreshData(); Object.Destroy(currentGetShowKeyInfo.gameObject); Object.Destroy(base.gameObject); } }