Пример #1
0
        private void compileButton_Click(object sender, EventArgs e)
        {
            script.Source = scriptBox.Text;
            HeightRender.Generator generator;
            string errors;

            switch (HeightRender.CompileGenerator(script, out generator, out errors))
            {
            case HeightRender.GeneratorCompileResult.WrongGenerateSignature:
                MessageBox.Show("The method signature for the \"Generate\" function should be:\n\nfloat Generate(int x, int y, HeightField heightField)", "Script Error");
                break;

            case HeightRender.GeneratorCompileResult.MissingGenerateFunction:
                MessageBox.Show("The \"Generate\" function is missing from your script.", "Script Error");
                break;

            case HeightRender.GeneratorCompileResult.SyntaxError:
                MessageBox.Show("There was a compilation error in your script:\r\n" + errors, "Script Error");
                break;

            case HeightRender.GeneratorCompileResult.Success:
                Document.SetGenerator(generatorName, generator, script);
                break;
            }
        }
Пример #2
0
        private static GeneratorScript LoadGenerator(Stream stream)
        {
            CSScript script = new CSScript();

            script.Source = LoadText(stream);
            HeightRender.Generator generator;
            string errors;

            HeightRender.CompileGenerator(script, out generator, out errors);

            GeneratorScript gs = new GeneratorScript()
            {
                generator = generator, script = script
            };

            return(gs);
        }