public override IEnumerable<Kbtter4Plugin> Load(Kbtter instance, IList<string> filenames) { var files = filenames.Where(p => p.EndsWith(".py")); var ret = new List<Kbtter4IronPythonPlugin>(); engine = Python.CreateEngine(); var context = HostingHelpers.GetLanguageContext(engine) as PythonContext; var path = context.GetSearchPaths(); path.Add(Environment.CurrentDirectory + "\\"); engine.SetSearchPaths(path); engine.Runtime.LoadAssembly(typeof(Status).Assembly); foreach (var i in files) { try { var scope = engine.CreateScope(); scope.SetVariable("Kbtter4", new Kbtter4PluginProvider(instance)); var src = engine.CreateScriptSourceFromFile(i); var code = src.Compile(); code.Execute(scope); var p = new Kbtter4IronPythonPlugin(scope,instance); ret.Add(p); } catch (Exception e) { instance.LogError(String.Format("プラグイン読み込み中にエラーが発生しました : {0}\n{1}", i, e.Message)); } } return ret; }
public override IEnumerable<Kbtter4Plugin> Load(Kbtter instance, IList<string> filenames) { var list = new List<Kbtter4LuaPlugin>(); var files = filenames.Where(p => p.EndsWith(".lua")); foreach (var i in files) { try { Lua l = new Lua(); l.LoadCLRPackage(); l["Kbtter4"] = new Kbtter4PluginProvider(instance); l.DoFile(i); list.Add(new Kbtter4LuaPlugin(l,instance)); } catch (Exception e) { instance.LogError("Luaプラグイン読み込み中にエラーが発生しました : " + e.Message); } } return list; }
public override int Load(IList <string> filenames) { var err = 0; var list = filenames.Where(p => p.EndsWith(".lua")); foreach (var i in list) { var l = new Lua(); l.LoadCLRPackage(); l["Kbtter3"] = ep; try { luas.Add(l); l.DoFile(i); } catch (Exception e) { kbtter.LogError(string.Format("Luaプラグインローダー\n{0}の読み込み中にエラーが発生しました \n{1}", i, e.Message)); err++; } } return(err); }