Advertisement
dkalaxdk

Unloading script

Feb 27th, 2021
948
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.48 KB | None | 0 0
  1. public Program()
  2. {
  3.    Runtime.UpdateFrequency = UpdateFrequency.Update10;
  4. }
  5.  
  6. List<IMyTerminalBlock> containers = new List<IMyTerminalBlock>();
  7. List<IMyTerminalBlock> Rovercontainers = new List<IMyTerminalBlock>();
  8. IMyCargoContainer shipContainerBlock;
  9.  
  10. public void Main(string args) {
  11.     var connector = GridTerminalSystem.GetBlockWithName("Connector Miner") as IMyShipConnector;
  12.     var connectorRover = GridTerminalSystem.GetBlockWithName("Connector Rover") as IMyShipConnector;
  13.     GridTerminalSystem.SearchBlocksOfName("[RoverContainer]", Rovercontainers, Rovercontainer => Rovercontainer is IMyCargoContainer);
  14.  
  15.  
  16.  
  17.     Echo("Rovercontainers count " + Rovercontainers.Count);
  18.     if(connector.Status == MyShipConnectorStatus.Connected) {
  19.       try {
  20.         shipContainerBlock = GridTerminalSystem.GetBlockWithName("MinerContainer") as IMyCargoContainer;
  21.         IMyInventory shipContainer = shipContainerBlock.GetInventory(0);
  22.         TransferToContainers(shipContainer,Rovercontainers);
  23.         } catch (Exception e)
  24.         {
  25.             // Dump the exception content to the
  26.             Echo("Elements disconnected mid check");
  27.         }
  28.  
  29.     }
  30.     if(connectorRover.Status == MyShipConnectorStatus.Connected) {
  31.       try
  32.         {
  33.           GridTerminalSystem.SearchBlocksOfName("[Base]", containers, container => container is IMyCargoContainer);
  34.           Echo("Test");
  35.           TransferToContainers(Rovercontainers,containers);
  36.         }
  37.         catch (Exception e)
  38.         {
  39.             // Dump the exception content to the
  40.             Echo("Elements disconnected mid check");
  41.         }
  42.     }
  43. }
  44.  
  45. void TransferToContainers(IMyInventory from, List<IMyTerminalBlock> ToContainers) {
  46.     foreach (var container in ToContainers)
  47.     {
  48.         IMyInventory containerInv = container.GetInventory(0);
  49.         for (int i = 0; i < from.ItemCount; i++)
  50.         {
  51.             from.TransferItemTo(containerInv,i);
  52.         }
  53.     }
  54. }
  55.  
  56. void TransferToContainers(List<IMyTerminalBlock> fromContainers, List<IMyTerminalBlock> ToContainers) {
  57.     foreach (var fromContainer in fromContainers){
  58.         IMyInventory fromContainerInventory = fromContainer.GetInventory(0);
  59.         foreach (var container in ToContainers){
  60.             IMyInventory containerInv = container.GetInventory(0);
  61.             for (int i = 0; i < fromContainerInventory.ItemCount; i++)
  62.             {
  63.                 fromContainerInventory.TransferItemTo(containerInv,i);
  64.             }
  65.         }
  66.     }
  67.  
  68. }
  69.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement