using RobotNet10.FleetManager.Models; using RobotNet10.FleetManager.Script; using RobotNet10.FleetManager.Script.Shared; using RobotNet10.ScriptEngine.Helpers; using RobotNet10.ScriptEngine.Shared; using System.Collections.Immutable; namespace RobotNet10.FleetManager.Services; public class ScriptEngineResource(IRobotManager robotManager, ILayoutManager layoutManager) : IScriptEngineResource { public Type AppGlobalType => FleetManagerScriptEngineResource.GlobalType; public ImmutableArray UsingNamespaces => FleetManagerScriptEngineResource.UsingNamespaces; public ImmutableArray Modules => FleetManagerScriptEngineResource.Modules; public ImmutableArray DocModules => FleetManagerScriptEngineResource.DocModules; public IDictionary GetMissionGlobals(Guid id, CancellationToken cancellationToken) { var globals = new FleetManagerScriptGlobals(robotManager, layoutManager); return ScriptHelper.ConvertGlobalsToDictionary(globals, typeof(IFleetManagerScriptGlobals)); } public IDictionary GetTaskGlobals() { var globals = new FleetManagerScriptGlobals(robotManager, layoutManager); return ScriptHelper.ConvertGlobalsToDictionary(globals, typeof(IFleetManagerScriptGlobals)); } }