public RadarPowerModule(MyRadar Radar) : base(Radar) { if (!RadarBlock.TryGetComponent(out MyRadarPowerSink)) { MyRadarPowerSink = new MyResourceSinkComponent(); MyResourceSinkInfo info = new MyResourceSinkInfo(); info.ResourceTypeId = Electricity; MyRadarPowerSink.AddType(ref info); RadarBlock.Components.Add(MyRadarPowerSink); } }
void CalculateTotalPower() { try { TotalRadarPower = 0; List <IMyTerminalBlock> Radars = new List <IMyTerminalBlock>(); Term.GetBlocksOfType <IMyTerminalBlock>(Radars, x => Controls.IsRadar(x)); foreach (IMyTerminalBlock RadarBlock in Radars) { MyRadar Radar = RadarBlock.GetComponent <MyRadar>(); if (Radar == null || !Radar.ActiveRadar || !Radar.IsWorking()) { continue; } TotalRadarPower += Radar.PowerModule.EffectiveRadarPower; } } catch (Exception Scrap) { RadarCore.LogError(Grid.DisplayName + ".CalculateTotalPower", Scrap); } }