Code/ChitChat/Components/DialogueTriggerComponent.cs
using Sandbox;
namespace ChitChat;
[Title("Dialogue Trigger")][Category("ChitChat")][Icon("sensors")]
public sealed class DialogueTriggerComponent : Component
{
[Header("Collider")]
[Property] public Collider TriggerCollider { get; set; }
[Header("Dialogue")]
[Property] public DialogueData DialogueData { get; set; }
[Property] public DialogueSystemComponent DialogueSystem { get; set; }
protected override void OnEnabled()
{
if(TriggerCollider.IsValid())
TriggerCollider.OnTriggerEnter += OnTriggerEnter;
}
protected override void OnDisabled()
{
if (TriggerCollider.IsValid())
TriggerCollider.OnTriggerEnter -= OnTriggerEnter;
}
private void OnTriggerEnter(Collider collider)
{
DialogueSystem.StartDialogue(DialogueData);
}
}