So far I have a simple class that wraps a python engine (IronPython) for my use. Although code looks big it's really simple so I copy it here to be more clear with my issue.

Here's the code:

public class PythonInstance
{
    ScriptEngine engine;
    ScriptScope scope;
    ScriptSource source;

    public PythonInstance()
    {
        engine = Python.CreateEngine();
        scope = engine.CreateScope();
    }

    public void LoadCode(string code)
    {
        source = engine.CreateScriptSourceFromString(code, Microsoft.Scripting.SourceCodeKind.Statements);
        source.Compile();
    }

    public void SetVariable(string key, dynamic variable)
    {
        scope.SetVariable(key, variable);
    }

    public void RunCode()
    {
        source.Execute(scope);
    }

    public void CallFunction(string function)
    {
        //?????? no idea what to call here
    }

}

So, it works great but it only allows me to execute all python script at once... but what I would like to do is to be able to call particular functions from within a pythos script.

So, my question: How do I call particular function in the loaded script?

I was trying to find some information or tutorials but unfortunately couldn't find anything.

Edit
Report