public static String Preprocess(String text, MISP.Environment ScriptEngine) { var state = new ParseState { start = 0, end = text.Length, source = text }; var output = new StringBuilder(); var preprocessContext = new PreprocessContext(); preprocessContext.builder = output; var preprocessGlobals = new MISP.ScriptObject(); while (!state.AtEnd()) { while (!state.AtEnd() && !state.MatchNext("<<")) { if (state.MatchNext("\\<<")) //Skip escaped open brackets { output.Append("<<"); state.Advance(3); } else { output.Append(state.Next()); state.Advance(); } } if (!state.AtEnd()) { state.Advance(2); //skip << var script = new StringBuilder(); while (!state.AtEnd() && !state.MatchNext(">>")) { if (state.MatchNext("\\>>")) { script.Append(">>"); state.Advance(3); } else { script.Append(state.Next()); state.Advance(); } } if (!state.AtEnd()) state.Advance(2); //skip >> var scriptContext = ScriptEngine.CompileScript(script.ToString()); scriptContext.Tag = preprocessContext; ScriptEngine.RunScript(scriptContext); if (scriptContext.ExecutionState == MISP.ExecutionState.Error) { Console.WriteLine("Error in preprocessing"); Console.WriteLine(scriptContext.ErrorMessage); } } } return output.ToString(); }
public GuiModule(GraphicsDevice device, Input input) { uiRenderer = new RenderContext2D(device); defaultSettings = new MISP.GenericScriptObject( "bg-color", new Vector3(0, 0, 0), "text-color", new Vector3(1,1,1), "fg-color", new Vector3(1,1,1), "hidden-container", null ); this.Input = input; }
internal DisconnectAction(MISP.ScriptObject player) : base(0) { this.player = player; }