public virtual string ToLC() { /* * BLOCK:BlockId * DISABLED * LABEL:My Label */ using var writer = new LoliCodeWriter(); if (Disabled) { writer.WriteLine("DISABLED"); } if (Label != ReadableName) { writer.WriteLine($"LABEL:{Label}"); } // Write all the settings foreach (var setting in Settings.Values) { if (!Descriptor.Parameters.ContainsKey(setting.Name)) { throw new Exception($"This setting is not a valid input parameter: {setting.Name}"); } writer.AppendSetting(setting, Descriptor.Parameters[setting.Name]); } return(writer.ToString()); }
public override string ToLC() { /* * INTERPRETER:Jint * INPUT x,y * BEGIN SCRIPT * var result = x + y; * END SCRIPT * OUTPUT Int result */ using var writer = new LoliCodeWriter(base.ToLC()); writer.WriteLine($"INTERPRETER:{Interpreter}"); writer.WriteLine($"INPUT {InputVariables}"); writer.WriteLine("BEGIN SCRIPT"); writer.WriteLine(Regex.Replace(Script, $"(\r\n)*$", "")); writer.WriteLine("END SCRIPT"); foreach (var output in OutputVariables) { writer.WriteLine($"OUTPUT {output.Type} @{output.Name}"); } return(writer.ToString()); }