internal SandboxedHost(IHost host, IObjectAccessor accessor, MicroScheduler scheduler) { m_host = host; m_accessor = accessor; m_graphics = new SandboxedGraphics(host.Graphics); m_scheduler = scheduler; }
public string Start(string assembly, string clazz, IHost host, IWorld world, UUID id, string name, Unloader unloader, string[] args) { m_scheduler = new MicroScheduler(); _unloader = unloader; AppDomain.CurrentDomain.UnhandledException += (sender, exceptionArgs) => Kill(exceptionArgs.ExceptionObject as Exception); try { m_id = id; m_name = name; m_mrm = (MRMBase)Activator.CreateInstanceFrom(assembly, clazz).Unwrap(); m_world = new SandboxedWorld(world); m_host = new SandboxedHost(host, m_world.Objects, m_scheduler); m_mrm.InitMiniModule(m_world, m_host, id); m_mrm.Start(args); } catch (Exception e) { return FullError(e); } return null; }