using UnityEngine; public class ActivityTrigger : MonoBehaviour { public enum JenisInteraksi { AmbilAktivitas, InteraksiNPC } [Header("Data Aktivitas")] public string activityId; public JenisInteraksi jenisInteraksi = JenisInteraksi.AmbilAktivitas; [TextArea] public string pesanBerhasil; [Header("Dialog NPC - hanya untuk InteraksiNPC")] public string namaNPC = "Ibu"; [TextArea] public string teksDialogNPC = "Hati-hati ya, Salim. Jangan lupa bersikap baik."; public string teksOpsiNPC1 = "Baik"; public string teksOpsiNPC2 = "Terima kasih"; [Header("Setelah Aktivitas Selesai")] public bool hilangkanObjekSetelahSelesai = false; public GameObject objekYangDihilangkan; private Manager_Game_RPG manager; private Collider2D col; private bool sudahSelesai = false; private void Awake() { col = GetComponent(); } private void Start() { manager = FindObjectOfType(); } private void OnTriggerEnter2D(Collider2D collision) { if (sudahSelesai) return; if (!collision.CompareTag("Player")) return; if (manager == null) return; manager.SetAktivitasTerdekat(this); } private void OnTriggerExit2D(Collider2D collision) { if (!collision.CompareTag("Player")) return; if (manager == null) return; manager.SetAktivitasTerdekat(null); } public void TandaiSelesai() { sudahSelesai = true; if (col != null) col.enabled = false; if (hilangkanObjekSetelahSelesai) { if (objekYangDihilangkan != null) objekYangDihilangkan.SetActive(false); else gameObject.SetActive(false); } } }