32 lines
1.3 KiB
C#
32 lines
1.3 KiB
C#
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<string> UsingNamespaces => FleetManagerScriptEngineResource.UsingNamespaces;
|
|
|
|
public ImmutableArray<string> Modules => FleetManagerScriptEngineResource.Modules;
|
|
|
|
public ImmutableArray<string> DocModules => FleetManagerScriptEngineResource.DocModules;
|
|
|
|
public IDictionary<string, object?> GetMissionGlobals(Guid id, CancellationToken cancellationToken)
|
|
{
|
|
var globals = new FleetManagerScriptGlobals(robotManager, layoutManager);
|
|
return ScriptHelper.ConvertGlobalsToDictionary(globals, typeof(IFleetManagerScriptGlobals));
|
|
}
|
|
|
|
public IDictionary<string, object?> GetTaskGlobals()
|
|
{
|
|
var globals = new FleetManagerScriptGlobals(robotManager, layoutManager);
|
|
return ScriptHelper.ConvertGlobalsToDictionary(globals, typeof(IFleetManagerScriptGlobals));
|
|
}
|
|
}
|