using UnityEngine; public class WoodItem : MonoBehaviour { public string itemName = "Wood"; public int amount = 1; [Header("UI Reference")] [Tooltip("ลากข้อความ UI จาก Hierarchy มาใส่ช่องนี้")] public GameObject interactUI; private bool isPlayerInRange = false; private Inventory playerInventory; private void OnTriggerEnter(Collider other) { // เมื่อผู้เล่นเดินเข้ามาในระยะ if (other.CompareTag("Player")) { isPlayerInRange = true; playerInventory = other.GetComponent(); // เปิดแสดงข้อความ UI "กด E เพื่อเก็บ" if (interactUI != null) { interactUI.SetActive(true); } } } private void OnTriggerExit(Collider other) { // เมื่อผู้เล่นเดินออกจากระยะ if (other.CompareTag("Player")) { isPlayerInRange = false; playerInventory = null; // ซ่อนข้อความ UI if (interactUI != null) { interactUI.SetActive(false); } } } private void Update() { // เมื่ออยู่ในระยะ และ กดปุ่ม E if (isPlayerInRange && Input.GetKeyDown(KeyCode.E)) { CollectItem(); } } private void CollectItem() { if (playerInventory != null) { playerInventory.AddItem(itemName, amount); // ซ่อนข้อความ UI ก่อนทำลายวัตถุไอเทม if (interactUI != null) { interactUI.SetActive(false); } Destroy(gameObject); // ลบไอเทมออกจากพื้น } } }