public JsCall CreateNewCall(ScriptFormat format, string className, params object[] items) { JsCall c = new JsCall(this.Document, className, items); c.New = true; c.SetFormat(format); return c; }
public void SetFormat(ScriptFormat format) { switch (format) { case ScriptFormat.None: break; case ScriptFormat.Inline: this._StartOnNewLine = false; this._MultiLine = false; break; case ScriptFormat.MultiLine: this._MultiLine = true; this._StartOnNewLine = false; break; case ScriptFormat.StartOnNewLine: this._StartOnNewLine = true; this._MultiLine = true; break; default: break; } }
public ScriptSet S(ScriptFormat format, params object[] items) { return CreateScriptSet(format, items); }
public ScriptSet CreateScriptSet(ScriptFormat format, params object[] items) { ScriptSet j = new ScriptSet(this.Document, items); j.SetFormat(format); return j; }
public void AddNewScript( string name, ScriptFormat format ) { string scriptName = name; int i = 1; while( _scriptItems.ContainsKey( scriptName ) ) { scriptName = name + i; i++; }; Script script = new Script( scriptName ); script.ScriptText = GetScriptGeneratedCode( scriptName, format ); script.ScriptType = ScriptType.CSharp; script.FilePath = Path.Combine( GetAssetFolder( AssetType.Script ), scriptName + GetScriptExtension( script.ScriptType ) ); AddScript( script ); script.Save( ); _lastCreatedScript = script.Parent; Global.ScriptEditor.OpenScript( script.Parent ); Global.MainWindow.OnScriptAdded( ); }
public ScriptLines CreateScriptLines(ScriptFormat format, params object[] lines) { ScriptLines sl = new ScriptLines(this.Document, lines); sl.SetFormat(format); return sl; }
public JsProperty P(ScriptFormat format, string name, object value) { return CreateProperty(format, name, value); }
public JsObject O(ScriptFormat format, params object[] properties) { return CreateObject(format, properties); }
public JsFunction F(ScriptFormat format, ScriptLines commands) { return CreateFunction(format, commands); }
public JsFunction CreateFunction(ScriptFormat format, ScriptLines commands) { JsFunction f = new JsFunction(this.Document, commands); f.SetFormat(format); return f; }
public JsFunction F(ScriptFormat format, JsList parameters, ScriptLines commands) { return CreateFunction(format, parameters, commands); }
public JsBlock B(ScriptFormat format, params object[] lines) { return CreateBlock(format, lines); }
public JsBlock CreateBlock(ScriptFormat format, params object[] lines) { JsBlock m = new JsBlock(this.Document, lines); m.SetFormat(format); return m; }
public JsArray A(ScriptFormat format, params object[] list) { return CreateArray(format, list); }
private string GetScriptGeneratedCode( string className, ScriptFormat format ) { string defaultMethods = "\t\t//This is called once, when the object is created.\n" + "\t\tpublic override void Init( )\n" + "\t\t{\n" + "\t\t\t\n" + "\t\t}\n\n" + "\t\t//This is called every frame.\n" + "\t\tpublic override void Update( GameTime gameTime )\n" + "\t\t{\n" + "\t\t\t\n" + "\t\t}\n\n" + "\t\t//This is called when the object is about to be destroyed.\n" + "\t\tpublic override void End( )\n" + "\t\t{\n" + "\t\t\t\n" + "\t\t}\n\n"; switch( format ) { case ScriptFormat.Blank: return "using LunarEngine;\n\n" + "namespace " + Global.World.Name + "\n" + "{\n\t\n}"; case ScriptFormat.Game: return "using LunarEngine;\n" + "using Microsoft.Xna.Framework;\n\n" + "namespace " + Global.World.Name + "\n" + "{\n"+ "\tpublic class " + className + " : LunarGame\n" + "\t{\n" + "\t\t//This is called when the game is being initialized.\n" + "\t\tpublic override void Init( )\n" + "\t\t{\n" + "\t\t\t\n" + "\t\t}\n\n" + "\t\t//This is called every frame.\n" + "\t\tpublic override void Update( GameTime gameTime )\n" + "\t\t{\n" + "\t\t\t\n" + "\t\t}\n\n" + "\t}\n" + "}"; case ScriptFormat.Level: return "using LunarEngine;\n" + "using Microsoft.Xna.Framework;\n\n" + "namespace " + Global.World.Name + "\n" + "{\n"+ "\tpublic class " + className + " : Level\n" + "\t{\n" + defaultMethods + "\t}\n" + "}"; case ScriptFormat.Actor: return "using LunarEngine;\n" + "using Microsoft.Xna.Framework;\n\n" + "namespace " + Global.World.Name + "\n" + "{\n"+ "\tpublic class " + className + " : Actor\n" + "\t{\n" + defaultMethods + "\t}\n" + "}"; case ScriptFormat.TextActor: return "using LunarEngine;\n" + "using Microsoft.Xna.Framework;\n\n" + "namespace " + Global.World.Name + "\n" + "{\n"+ "\tpublic class " + className + " : TextActor\n" + "\t{\n" + defaultMethods + "\t}\n" + "}"; default: return ""; } }
public JsCall N(ScriptFormat format, string className, params object[] items) { return CreateNewCall(format, className, items); }
public JsObject CreateObject(ScriptFormat format, params object[] properties) { JsObject o = new JsObject(this.Document, properties); o.SetFormat(format); return o; }
public JsCall CreateCall(ScriptFormat format, string function, params object[] items) { JsCall c = new JsCall(this.Document, function, items); c.SetFormat(format); return c; }
public JsProperty CreateProperty(ScriptFormat format, string name, object value) { JsProperty p = new JsProperty(this.Document, name, value); p.SetFormat(format); return p; }
public JsCall C(ScriptFormat format, string function, params object[] items) { return CreateCall(format, function, items); }
public JsArray CreateArray(ScriptFormat format, params object[] list) { JsArray a = new JsArray(this.Document, list); a.SetFormat(format); return a; }
public JsList CreateList(ScriptFormat format, params object[] items) { JsList l = new JsList(this.Document, items); l.SetFormat(format); return l; }
public ScriptLines SL(ScriptFormat format, params object[] lines) { return CreateScriptLines(format, lines); }
public JsList L(ScriptFormat format, params object[] items) { return CreateList(format, items); }