internal static void Load(this PluginLoader self, UnloadedPlugin uPlugin) { try { var p = new Plugin(uPlugin); } catch (Exception e) { Log.Error("Failed to load plugin {p}: {message}", uPlugin.Config.Name, e.Message); } }
public Plugin(UnloadedPlugin p) { _script.Options.DebugPrint = Log.Information; var entryPoint = Path.Combine(p.Dir, p.Config.EntryFile); if (!File.Exists(entryPoint)) { throw new PluginLoadFailException($"File {p.Config.EntryFile} not found!"); } _script.DoFile(entryPoint); var mainFunc = _script.Globals[p.Config.EntryFunction]; _script.Call(mainFunc); }