add:基础插件框架

This commit is contained in:
PrefacedCorg
2026-04-08 00:51:28 +08:00
parent 3f3a10de7d
commit 302ef307fe
6 changed files with 871 additions and 7 deletions
+34
View File
@@ -0,0 +1,34 @@
using System;
namespace Ink_Canvas.Plugins
{
public abstract class PluginBase : IPlugin
{
public abstract string Id { get; }
public abstract string Name { get; }
public abstract string Version { get; }
public abstract string Description { get; }
public virtual string Author => "Unknown";
public virtual int Order => 0;
protected IPluginHost? Host { get; private set; }
public virtual void Initialize(IPluginHost host)
{
Host = host;
Host.Log($"[Plugin:{Name}] Initialized");
}
public virtual void Shutdown()
{
Host?.Log($"[Plugin:{Name}] Shutdown");
Host = null;
}
public virtual object? GetSettingsView() => null;
public virtual object? GetMainView() => null;
protected void Log(string message) => Host?.Log($"[Plugin:{Name}] {message}");
protected void LogError(string message, Exception? ex = null) => Host?.LogError($"[Plugin:{Name}] {message}", ex);
}
}