Пример #1
0
        public DebugForm()
        {
            InitializeComponent();
            try
            {
                // why is the script engine remembering my imports? oh well, it's handy :P
                PythonScriptEngine.EvaluateExpression <object>("from FrEee.Modding import Mod");
                rtbOutput.AppendText("Imported Mod.\n");
                rtbOutput.AppendText("Mod.Current is currently: " + OrNil(Mod.Current) + "\n");

                PythonScriptEngine.EvaluateExpression <object>("from FrEee.Game.Objects.Space import Galaxy");
                rtbOutput.AppendText("Imported Galaxy.\n");
                rtbOutput.AppendText("Galaxy.Current is currently: " + OrNil(Galaxy.Current) + "\n");

                PythonScriptEngine.EvaluateExpression <object>("from FrEee.Game.Objects.Civilization import Empire");
                rtbOutput.AppendText("Imported Empire.\n");
                rtbOutput.AppendText("Empire.Current is currently: " + OrNil(Empire.Current) + "\n");

                if (Mod.Current != null)
                {
                    PythonScriptEngine.EvaluateExpression <object>(Mod.Current.GlobalScript.FullText);
                    rtbOutput.AppendText("Ran mod global script.\n");
                }
            }
            catch (Exception ex)
            {
                rtbOutput.AppendText("Error initializing debug console.\n");
                rtbOutput.AppendText(ex + "\n");
            }
        }
Пример #2
0
        public void EvaluateExpression()
        {
            var expr      = "x * y";
            var variables = new Dictionary <string, object>();

            variables.Add("x", 6);
            variables.Add("y", 7);
            Assert.AreEqual(42, PythonScriptEngine.EvaluateExpression <int>(expr, variables));
        }
Пример #3
0
 private void btnSubmit_Click(object sender, EventArgs e)
 {
     rtbOutput.SelectionColor = Color.Green;
     rtbOutput.AppendText(">" + txtCommand.Text + "\n");
     rtbOutput.SelectionColor = rtbOutput.ForeColor;
     try
     {
         var result = PythonScriptEngine.EvaluateExpression <object>("str(" + txtCommand.Text + ")");
         rtbOutput.AppendText(OrNil(result));
         rtbOutput.AppendText("\n");
     }
     catch (Exception ex)
     {
         rtbOutput.AppendText("Exception has occurred.\n");
         rtbOutput.AppendText(ex + "\n");
     }
     rtbOutput.ScrollToCaret();
     txtCommand.Text = "";
 }