internal OnsetPlugin CreatePlugin() { OnsetPlugin plugin = (OnsetPlugin)Activator.CreateInstance(PluginType); plugin.Meta = Meta; plugin.Server = Wrapper.Server; plugin.Logger = new Logger(Meta.Name, Meta.IsDebug); return(plugin); }
public void StopPlugin(OnsetPlugin plugin) { try { plugin.Logger.Info("Disabling this Plugin..."); plugin.State = PluginState.Disabling; plugin.Unload(); Plugins.Remove(plugin); plugin.State = PluginState.Disabled; plugin.Logger.Success("Plugin disabled!"); } catch { plugin.State = PluginState.Failed; } }
public void StartPlugin(OnsetPlugin plugin) { try { plugin.State = PluginState.Enabling; plugin.Load(); Plugins.Add(plugin); _server.CommandRegistry.Register(plugin); _server.ServerEventRegistry.Register(plugin); _server.RemoteEventRegistry.Register(plugin); plugin.State = PluginState.Enabled; plugin.Logger.Success("Loaded Plugin successfully!"); plugin.Logger.Warn("This plugin is in DEBUG mode!"); } catch (Exception e) { Wrapper.Server.Logger.Error("An error occurred while starting Plugin \"" + plugin.Meta.ID + "\"!", e); plugin.State = PluginState.Failed; } }