namespace Decal.Adapter;

public abstract class ServiceBase : Extension
{
	internal enum ServiceEventType
	{
		BeforePlugins,
		AfterPluigins
	}

	public ServiceBase()
		: base(DecalExtensionType.Service)
	{
	}

	internal void ServiceEvent(ServiceEventType evt)
	{
		switch (evt)
		{
		case ServiceEventType.BeforePlugins:
			OnBeforePlugins();
			break;
		case ServiceEventType.AfterPluigins:
			OnAfterPlugins();
			break;
		}
	}

	protected virtual void OnBeforePlugins()
	{
	}

	protected virtual void OnAfterPlugins()
	{
	}
}
