diff --git a/src/AcDream.Plugin.Abstractions/IAcDreamPlugin.cs b/src/AcDream.Plugin.Abstractions/IAcDreamPlugin.cs index ba59c63..63e11c6 100644 --- a/src/AcDream.Plugin.Abstractions/IAcDreamPlugin.cs +++ b/src/AcDream.Plugin.Abstractions/IAcDreamPlugin.cs @@ -3,7 +3,12 @@ namespace AcDream.Plugin.Abstractions; public interface IAcDreamPlugin { + /// + /// Called exactly once, before . The plugin should stash the + /// host reference and do any one-time setup that doesn't depend on a connected world. + /// void Initialize(IPluginHost host); + void Enable(); void Disable(); } diff --git a/src/AcDream.Plugin.Abstractions/IPluginHost.cs b/src/AcDream.Plugin.Abstractions/IPluginHost.cs index 065a533..755dd77 100644 --- a/src/AcDream.Plugin.Abstractions/IPluginHost.cs +++ b/src/AcDream.Plugin.Abstractions/IPluginHost.cs @@ -3,9 +3,9 @@ namespace AcDream.Plugin.Abstractions; /// /// Entry point for a plugin into the acdream runtime. The surface will grow -/// across phases as more systems come online. For Phase 1 only ILogger is real. +/// across phases as more systems come online. For Phase 1 only IPluginLogger is real. /// public interface IPluginHost { - ILogger Log { get; } + IPluginLogger Log { get; } } diff --git a/src/AcDream.Plugin.Abstractions/ILogger.cs b/src/AcDream.Plugin.Abstractions/IPluginLogger.cs similarity index 66% rename from src/AcDream.Plugin.Abstractions/ILogger.cs rename to src/AcDream.Plugin.Abstractions/IPluginLogger.cs index a7199cf..e3ed43f 100644 --- a/src/AcDream.Plugin.Abstractions/ILogger.cs +++ b/src/AcDream.Plugin.Abstractions/IPluginLogger.cs @@ -1,7 +1,7 @@ -// src/AcDream.Plugin.Abstractions/ILogger.cs +// src/AcDream.Plugin.Abstractions/IPluginLogger.cs namespace AcDream.Plugin.Abstractions; -public interface ILogger +public interface IPluginLogger { void Info(string message); void Warn(string message);