public void WithLockedDevice(IStructureData structure, IBlockData block, Action action, Action lockFailed = null) { using (var locked = ConveyorHelpers.CreateDeviceLock(ScriptRoot, ScriptRoot.GetCurrentPlayfield(), structure.GetCurrent(), block.Position)) { if (locked.Success) { action(); } else { lockFailed?.Invoke(); } } }
public IList <IItemMoveInfo> Move(IItemsData item, IStructureData structure, string names, int?maxLimit = null) => ConveyorHelpers.Move(ScriptRoot, item, structure, names, maxLimit);
public IList <IItemMoveInfo> Fill(IItemsData item, IStructureData structure, StructureTankType type, int?maxLimit = null) => ConveyorHelpers.Fill(ScriptRoot, item, structure, type, maxLimit ?? 100);