/// <inheritdoc /> public override async Task GetAsync() { long id = 0; //if (!long.TryParse(request.PathSegments.Last(), out id)) if (!ValueBag.TryGet("id", out id)) { await Request.RespondAsync("Invalid block ID", HttpStatusCode.BadRequest); return; } TerminalBlock block = null; await Torch.InvokeAsync(() => { MyAPIGateway.Entities.TryGetEntityById(id, out IMyEntity entity); if (entity is IMyTerminalBlock terminalBlock) { block = new TerminalBlock(terminalBlock, false); } }); if (block != null) { await Request.RespondAsync(block, HttpStatusCode.OK); return; } await Request.RespondAsync("Block not found", HttpStatusCode.NotFound); }
public (long Id, string Property) GetValues() { ValueBag.TryGet("property", out string prop); ValueBag.TryGet("id", out long id); return(id, prop); }
/// <inheritdoc /> public override async Task GetAsync() { long id = 0; //if (!long.TryParse(request.PathSegments.Last(), out id)) if (!ValueBag.TryGet("id", out id)) { await Request.RespondAsync("Invalid grid ID", HttpStatusCode.BadRequest); return; } Grid grid = null; await Torch.InvokeAsync(() => { MyAPIGateway.Entities.TryGetEntityById(id, out IMyEntity entity); if (entity is IMyCubeGrid cubeGrid) { grid = new Grid(cubeGrid); } }); if (grid != null) { await Request.RespondAsync(grid, HttpStatusCode.OK); return; } await Request.RespondAsync("Grid not found", HttpStatusCode.NotFound); }
/// <inheritdoc /> public override async Task PostAsync() { long id; string actionName; if (!(ValueBag.TryGet("id", out id) && ValueBag.TryGet("action", out actionName))) { await Request.RespondAsync("Invalid parameters.", HttpStatusCode.BadRequest); return; } await Torch.InvokeAsync(() => { MyAPIGateway.Entities.TryGetEntityById(id, out IMyEntity entity); if (entity is IMyTerminalBlock terminalBlock && terminalBlock.HasAction(actionName)) { terminalBlock.ApplyAction(actionName); } }); await Request.RespondAsync(null, HttpStatusCode.OK); }