/// <summary> /// Register a new plugin /// </summary> /// <param name="plugin"></param> /// <returns></returns> public static bool RegisterPlugin(Extension plugin) { if (plugin._Status == Extension.Status.Loading) { lock (Extensions) { if (Extensions.Contains(plugin)) { return false; } Extensions.Add(plugin); } if (plugin.Hook_OnRegister()) { plugin.Load(); if (Core.SystemForm != null) { Core.SystemForm.main.scrollback.InsertText("Loaded plugin " + plugin.Name + " (v. " + plugin.Version + ")", Client.ContentLine.MessageStyle.System, false); } return true; } return false; } return true; }