public void UnloadPlugin() { Logger.Log($"Unloading plugin {Name}...", ConsoleColor.DarkRed); PluginState = PluginState.Unloaded; CommandManager.DeregisterCommands(Name); Unload(); }
public static void Puts(string message, Color color) { Logger.Log($"Broadcast: {message}", ConsoleColor.Yellow); WrapMessage(message).ForEach(s => { ChatManager.serverSendMessage(s, color); }); }
private static bool DoNext(IPlayer player, string message) { if (player == null) { return(false); } if (!player.IsConsolePlayer()) { return(true); } Logger.Log($"{player.CharacterName} >> {message}", ConsoleColor.Yellow); return(false); }
public void LoadPlugin() { Logger.Log($"Loading plugin: {Name}. Author: {Author ?? "UNKNOWN"}. Version: {Version}.", ConsoleColor.Cyan); var pluginDir = string.Format(ModuleEnvironment.PluginDir, Name); if (!Directory.Exists(pluginDir)) { Directory.CreateDirectory(pluginDir); } Config = new JsonFileAsset <TConfig>(string.Format(ModuleEnvironment.PluginCfg, Name)); if (DefaultTranslation != null && DefaultTranslation.Any()) { Translation = new JsonFileAsset <Translation>(string.Format(ModuleEnvironment.PluginTranslation, Name)); DefaultTranslation.FillTranslation(Translation); } try { Load(); } catch (Exception e) { Logger.LogError($"An error occurred while loading plugin {Name}. Unloading now..."); Logger.Log(e.Message, ConsoleColor.Red); try { UnloadPlugin(); return; } catch (Exception) { Logger.LogWarning("Failed to unload plugin, it will be destroyed!"); PluginManager.Destroy(name); return; } } CommandManager.RegisterCommands(Assembly, GetType()); PluginState = PluginState.Loaded; }