public ShipValue(ShipDisplayValue displayValue, IMyGridTerminalSystem GridTerminalSystem, IMyProgrammableBlock Me, Action <string> Echo) { this.Me = Me; this.GridTerminalSystem = GridTerminalSystem; this.DisplayValue = displayValue; this.Echo = Echo; this.ShipController = BlockUtils.GetShipController(GridTerminalSystem, Me); GetRelevantBlocks(); }
public int GetValue(ShipDisplayValue value) { switch (value) { case ShipDisplayValue.BatteryPercentRemaining: return(BlockUtils.GetBatteryPercentRemaining(this.blocks.Cast <IMyBatteryBlock>().ToList())); case ShipDisplayValue.StorageCapacityUsed: return(BlockUtils.GetStorageCapacityRemaining(this.blocks.Cast <IMyCargoContainer>().ToList(), Echo)); case ShipDisplayValue.ThrustCapacityUsed: return(BlockUtils.GetThrustCapacityRemaining(this.blocks.Cast <IMyThrust>().ToList(), ShipController, Echo)); default: return(0); } }
public ConfigItem(IMyProgrammableBlock Me, IMyGridTerminalSystem gridTerminalSystem, string configTitle, Action <string> Echo) : base(Me, configTitle) { DisplayedProperty = (ShipDisplayValue)Enum.Parse(typeof(ShipDisplayValue), configTitle); ShipValue = new ShipValue(DisplayedProperty, gridTerminalSystem, Me, Echo); }