public void BindScript(MISP.Engine scriptEngine) { scriptEngine.AddFunction("model", "Create a model component.", (context, arguments) => { var model = GeometryGeneration.MispBinding.ModelArgument(arguments[0]); return new ModelComponent(GeometryGeneration.CompiledModel.CompileModel(model, device)); }, MISP.Arguments.Arg("model")); var meshFunction = GeometryGeneration.MispBinding.GenerateBindingObject(); scriptEngine.AddGlobalVariable("mesh", (context) => { return meshFunction; }); scriptEngine.AddGlobalVariable("camera", (context) => { return Camera; }); }
public bool BindLibrary(MISP.Engine engine) { var database = new DatabaseService(); engine.AddFunction("osm-query-id", "Query an entry from the OSM database.", (context, arguments) => { var r = database.Query(Convert.ToInt64(arguments[0])); database.CommitChanges(); return r; }, Arguments.Arg("id")); engine.AddFunction("osm-query-name", "Query an entry from the OSM database.", (context, arguments) => { var r = database.Query(Convert.ToString(arguments[0])); database.CommitChanges(); return r; }, Arguments.Arg("name")); var geoMath = AutoBind.GenerateLazyBindingObjectForStaticLibrary(typeof(GeographicMath)); engine.AddGlobalVariable("geo", c => geoMath); return true; }
void IModule.BindScript(MISP.Engine scriptEngine) { //scriptEngine.AddGlobalVariable("ui-root", c => uiRoot); var guiBinding = Gem.Gui.MispBinding.GenerateBinding(); scriptEngine.AddGlobalVariable("ui", c => guiBinding); scriptEngine.AddFunction("create-ui-scene-node", "", (context, arguments) => { var r = new GuiSceneNode(MISP.AutoBind.IntArgument(arguments[0]), MISP.AutoBind.IntArgument(arguments[1]), this); activeGuis.Add(r); return r; }, MISP.Arguments.Arg("width"), MISP.Arguments.Arg("height")); }
void IModule.BindScript(MISP.Engine scriptEngine) { var renderer = new MISP.GenericScriptObject(); renderer.AddFunction("create-scene-leaf", "Create a scene leaf.", (context, arguments) => { var model = GeometryGeneration.MispBinding.ModelArgument(arguments[0]); return new SceneNode { leaf = GeometryGeneration.CompiledModel.CompileModel(model, device) }; }, MISP.Arguments.Arg("model")); renderer.AddFunction("create-scene-component", "Create a scene component.", (context, arguments) => { var r = new SceneGraphRoot(); foreach (var arg in arguments) if (arg is SceneNode) r.rootNode.Add(arg as SceneNode); return r; }, MISP.Arguments.Arg("leaf")); renderer.AddFunction("query", "Query for a specific renderable.", (context, arguments) => { var key = MISP.AutoBind.UIntArgument(arguments[0]); if (this.renderables.ContainsKey(key)) return this.renderables[key]; return null; }, MISP.Arguments.Arg("key")); scriptEngine.AddGlobalVariable("renderer", context => renderer); var meshFunction = GeometryGeneration.MispBinding.GenerateBindingObject(); scriptEngine.AddGlobalVariable("mesh", (context) => { return meshFunction; }); scriptEngine.AddGlobalVariable("camera", (context) => { return Camera; }); }