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);
	}
}