Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- List<IMyTerminalBlock> ConnectorList = new List<IMyTerminalBlock>();
- List<IMyTerminalBlock> DrillList = new List<IMyTerminalBlock>();
- List<IMyTerminalBlock> StorageList = new List<IMyTerminalBlock>();
- List<IMyTerminalBlock> EjectorList = new List<IMyTerminalBlock>();
- public string ShipTag = "[uM/B]";
- void Main()
- {
- GridTerminalSystem.GetBlocksOfType<IMyShipConnector>(ConnectorList,PredicateConnector);
- GridTerminalSystem.GetBlocksOfType<IMyShipDrill>(DrillList,PredicateDrill);
- GridTerminalSystem.GetBlocksOfType<IMyShipConnector>(EjectorList,PredicateEjector);
- var EjectorInv = (EjectorList[0] as IMyInventoryOwner).GetInventory(0);
- StorageList = DrillList;
- StorageList.AddRange(ConnectorList);
- for (int i = 0; i < StorageList.Count; i++)
- {
- var StorageInv = (StorageList[i] as IMyInventoryOwner).GetInventory(0);
- var StorageItems = (StorageInv as IMyInventory).GetItems();
- for (int j = StorageItems.Count -1; j >= 0; j--)
- {
- if (StorageItems[j].Content.SubtypeName == "Stone" && StorageItems[j].Content.ToString().Contains("Ore"))
- {
- float EjectorFreeVol = (float) EjectorInv.MaxVolume - (float) EjectorInv.CurrentVolume;
- int TransferQty = (int)Math.Floor(EjectorFreeVol*(1/0.37)); //Using density of stone in SE
- //StorageInv.TransferItemsTo(EjectorInv,j, 1, true,TransferQty);
- bool isTransferrable = StorageInv.GetInventory(0).TransferItemTo(targetInventory,j,1,true,TransferQty);
- }
- }
- }
- }
- bool PredicateConnector(IMyTerminalBlock Block)
- {
- return Block.CustomName.Contains(ShipTag + " Connector"); //returns true if the block contains the string "Tag"
- }
- bool PredicateDrill(IMyTerminalBlock Block)
- {
- return Block.CustomName.Contains(ShipTag + " Drill"); //returns true if the block contains the string "Tag"
- }
- bool PredicateEjector(IMyTerminalBlock Block)
- {
- return Block.CustomName.Contains(ShipTag + " " + "Ejector"); //returns true if the block contains the string "Tag"
- }
Advertisement
Add Comment
Please, Sign In to add comment