MIF_E31230101/Assets/Script Manager/RPG_Revisi/ActivityTrigger.cs

77 lines
1.9 KiB
C#

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<Collider2D>();
}
private void Start()
{
manager = FindObjectOfType<Manager_Game_RPG>();
}
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);
}
}
}