public Program() { _PanelTextSurface = Me.GetSurface(0); _PanelTextSurface.ContentType = VRage.Game.GUI.TextPanel.ContentType.TEXT_AND_IMAGE; _PanelTextSurface.FontSize = 2; _PanelTextSurface.Alignment = VRage.Game.GUI.TextPanel.TextAlignment.CENTER; Runtime.UpdateFrequency = UpdateFrequency.Update100; _CargoInterface = GridTerminalSystem.GetBlockWithName("Cargo Interface") as IMyCargoContainer; _SorterOut = GridTerminalSystem.GetBlockWithName("Sorter Interface Out") as IMyConveyorSorter; _SorterIn = GridTerminalSystem.GetBlockWithName("Sorter Interface In") as IMyConveyorSorter; _SorterIn.Enabled = true; _SorterOut.Enabled = false; _Flush = false; }
public Program() { Runtime.UpdateFrequency = UpdateFrequency.Update10; Sorter = GridTerminalSystem.GetBlockWithName("Sorter") as IMyConveyorSorter; SAContainer = GridTerminalSystem.GetBlockWithName("Sorter A") as IMyCargoContainer; SBContainer = GridTerminalSystem.GetBlockWithName("Sorter B") as IMyCargoContainer; PBAContainer = GridTerminalSystem.GetBlockWithName("PB A") as IMyCargoContainer; PBBContainer = GridTerminalSystem.GetBlockWithName("PB B") as IMyCargoContainer; SALCD = GridTerminalSystem.GetBlockWithName("Sorter A LCD") as IMyTextPanel; SBLCD = GridTerminalSystem.GetBlockWithName("Sorter B LCD") as IMyTextPanel; PBALCD = GridTerminalSystem.GetBlockWithName("PB A LCD") as IMyTextPanel; PBBLCD = GridTerminalSystem.GetBlockWithName("PB B LCD") as IMyTextPanel; }
public Program() { // It's recommended to set RuntimeInfo.UpdateFrequency _logOutput = GridTerminalSystem.GetBlockWithName("Bay Debug LCD") as IMyTextPanel; Echo = EchoToLCD; ClearEcho(); Echo($"Booting up at {DateTime.Now}"); _outSorters = new List <IMyTerminalBlock>(); _inSorters = new List <IMyTerminalBlock>(); _bay1SorterIn = GridTerminalSystem.GetBlockWithName("Bay 1 Sorter In") as IMyConveyorSorter; _bay2SorterIn = GridTerminalSystem.GetBlockWithName("Bay 2 Sorter In") as IMyConveyorSorter; _bay3SorterIn = GridTerminalSystem.GetBlockWithName("Bay 3 Sorter In") as IMyConveyorSorter; _bay4SorterIn = GridTerminalSystem.GetBlockWithName("Bay 4 Sorter In") as IMyConveyorSorter; _bay1SorterOut = GridTerminalSystem.GetBlockWithName("Bay 1 Sorter Out") as IMyConveyorSorter; _bay2SorterOut = GridTerminalSystem.GetBlockWithName("Bay 2 Sorter Out") as IMyConveyorSorter; _bay3SorterOut = GridTerminalSystem.GetBlockWithName("Bay 3 Sorter Out") as IMyConveyorSorter; _bay4SorterOut = GridTerminalSystem.GetBlockWithName("Bay 4 Sorter Out") as IMyConveyorSorter; _bay1Sensor = GridTerminalSystem.GetBlockWithName("Bay 1 Sensor") as IMySensorBlock; _bay2Sensor = GridTerminalSystem.GetBlockWithName("Bay 2 Sensor") as IMySensorBlock; _bay3Sensor = GridTerminalSystem.GetBlockWithName("Bay 3 Sensor") as IMySensorBlock; _bay4Sensor = GridTerminalSystem.GetBlockWithName("Bay 4 Sensor") as IMySensorBlock; _bay1LCD = GridTerminalSystem.GetBlockWithName("Bay 1 LCD") as IMyTextPanel; _bay2LCD = GridTerminalSystem.GetBlockWithName("Bay 2 LCD") as IMyTextPanel; _bay3LCD = GridTerminalSystem.GetBlockWithName("Bay 3 LCD") as IMyTextPanel; _bay4LCD = GridTerminalSystem.GetBlockWithName("Bay 4 LCD") as IMyTextPanel; _bay1Connector = GridTerminalSystem.GetBlockWithName("Bay 1 Connector") as IMyShipConnector; _bay2Connector = GridTerminalSystem.GetBlockWithName("Bay 2 Connector") as IMyShipConnector; _bay3Connector = GridTerminalSystem.GetBlockWithName("Bay 3 Connector") as IMyShipConnector; _bay4Connector = GridTerminalSystem.GetBlockWithName("Bay 4 Connector") as IMyShipConnector; GridTerminalSystem.SearchBlocksOfName("Bay Out Sorter", _outSorters, door => door is IMyConveyorSorter); GridTerminalSystem.SearchBlocksOfName("Bay In Sorter", _inSorters, door => door is IMyConveyorSorter); _bay1HasShip = false; _bay2HasShip = false; _bay3HasShip = false; _bay4HasShip = false; Echo($"Found {_inSorters.Count} Inbound sorters and {_outSorters.Count} Outbound Sorters"); }
private void CheckGravelLevels(double gravelLevel) { IMyConveyorSorter gravelSorter = (IMyConveyorSorter)GridTerminalSystem.GetBlockWithName(gravelSorterName); IMyGravityGeneratorBase gravelGun = (IMyGravityGeneratorBase)GridTerminalSystem.GetBlockWithName(gravelSorterName + " Gun"); if (gravelLevel > gravelMaximum) { gravelSorter.Enabled = true; gravelGun.Enabled = true; } else { gravelSorter.Enabled = false; gravelGun.Enabled = true; } //Echo($"Gravel Level = {gravelLevel}\nGravel Max = {gravelMaximum}\nGravel Sorter Enabled = {gravelSorter.Enabled}"); }
public void Main(string argument, UpdateType updateSource) { // Finding master ... List <IMyConveyorSorter> masters = new List <IMyConveyorSorter>(); GridTerminalSystem.GetBlocksOfType(masters, b => b.CustomName.Contains(MASTER) && b.CubeGrid == Me.CubeGrid); if (masters.Count == 0) { Echo("Error: Cannot find master."); return; } if (masters.Count > 1) { Echo("Error: Found more than one master."); return; } // and slaves ... List <IMyConveyorSorter> slaves = new List <IMyConveyorSorter>(); GridTerminalSystem.GetBlocksOfType(slaves, b => b.CustomName.Contains(SLAVE) && b.CubeGrid == Me.CubeGrid); if (slaves.Count == 0) { Echo("Error: Cannot find any slave."); return; } // Copy filter info from master to slaves IMyConveyorSorter master = masters[0]; List <MyInventoryItemFilter> items = new List <MyInventoryItemFilter>(); master.GetFilterList(items); foreach (IMyConveyorSorter slave in slaves) { slave.DrainAll = master.DrainAll; slave.SetFilter(master.Mode, items); } }
public Program() { IMyCockpit cockpit = GridTerminalSystem.GetBlockWithName("Janne c**k") as IMyCockpit; _PanelTextSurface = cockpit.GetSurface(0); _PanelTextSurface.ContentType = VRage.Game.GUI.TextPanel.ContentType.TEXT_AND_IMAGE; _PanelTextSurface.FontSize = 2; _PanelTextSurface.Alignment = VRage.Game.GUI.TextPanel.TextAlignment.CENTER; Runtime.UpdateFrequency = UpdateFrequency.None; _Sorter = GridTerminalSystem.GetBlockWithName("Janne Sort") as IMyConveyorSorter; _Connector = GridTerminalSystem.GetBlockWithName("Janne Connector") as IMyShipConnector; _ItemList = new List <MyInventoryItemFilter>() { new MyInventoryItemFilter("MyObjectBuilder_Ore/Stone", false) }; _ItemListNone = new List <MyInventoryItemFilter>(); _Connector.ThrowOut = false; _Sorter.SetFilter(MyConveyorSorterMode.Blacklist, _ItemListNone); _PanelTextSurface.WriteText("Not throwing out\nAllow all"); }