public Program()
{
Runtime.UpdateFrequency = UpdateFrequency.Update10;
}
List<IMyTerminalBlock> containers = new List<IMyTerminalBlock>();
List<IMyTerminalBlock> Rovercontainers = new List<IMyTerminalBlock>();
IMyCargoContainer shipContainerBlock;
public void Main(string args) {
var connector = GridTerminalSystem.GetBlockWithName("Connector Miner") as IMyShipConnector;
var connectorRover = GridTerminalSystem.GetBlockWithName("Connector Rover") as IMyShipConnector;
GridTerminalSystem.SearchBlocksOfName("[RoverContainer]", Rovercontainers, Rovercontainer => Rovercontainer is IMyCargoContainer);
Echo("Rovercontainers count " + Rovercontainers.Count);
if(connector.Status == MyShipConnectorStatus.Connected) {
try {
shipContainerBlock = GridTerminalSystem.GetBlockWithName("MinerContainer") as IMyCargoContainer;
IMyInventory shipContainer = shipContainerBlock.GetInventory(0);
TransferToContainers(shipContainer,Rovercontainers);
} catch (Exception e)
{
// Dump the exception content to the
Echo("Elements disconnected mid check");
}
}
if(connectorRover.Status == MyShipConnectorStatus.Connected) {
try
{
GridTerminalSystem.SearchBlocksOfName("[Base]", containers, container => container is IMyCargoContainer);
Echo("Test");
TransferToContainers(Rovercontainers,containers);
}
catch (Exception e)
{
// Dump the exception content to the
Echo("Elements disconnected mid check");
}
}
}
void TransferToContainers(IMyInventory from, List<IMyTerminalBlock> ToContainers) {
foreach (var container in ToContainers)
{
IMyInventory containerInv = container.GetInventory(0);
for (int i = 0; i < from.ItemCount; i++)
{
from.TransferItemTo(containerInv,i);
}
}
}
void TransferToContainers(List<IMyTerminalBlock> fromContainers, List<IMyTerminalBlock> ToContainers) {
foreach (var fromContainer in fromContainers){
IMyInventory fromContainerInventory = fromContainer.GetInventory(0);
foreach (var container in ToContainers){
IMyInventory containerInv = container.GetInventory(0);
for (int i = 0; i < fromContainerInventory.ItemCount; i++)
{
fromContainerInventory.TransferItemTo(containerInv,i);
}
}
}
}
Comments