public override void OnStartFinished(StartState state) { engineModule = part.GetComponents <ModuleEnginesFX>().Where(x => x.engineID == engineID).FirstOrDefault(); if (engineModule == null) { engineModule = part.GetComponents <ModuleEnginesFX>().FirstOrDefault(); ROLLog.error($"ROLDeployableEngine.OnStartFinished(): Could not locate engine by ID: {engineID} on part {part}. This will cause errors during gameplay. Trying default: {engineModule}"); } SetupEngineModuleGui(); }
public void UpdateHeatshieldValues() { ROLLog.debug("UpdateHeatshieldValues()"); ROLLog.debug($"HeatShieldAblator: {HeatShieldAblator}"); ROLLog.debug($"heatShieldDensity: {heatShieldDensity}"); ROLLog.debug($"HeatShieldMass: {HeatShieldMass}"); part.Resources["Ablator"].maxAmount = part.Resources["Ablator"].amount = HeatShieldAblator; part.Resources["CharredAblator"].maxAmount = HeatShieldAblator; part.Resources["CharredAblator"].amount = 0; hsMass = HeatShieldMass; }
/// <summary> /// Updates all dimensions for the PAW and tooling. /// </summary> private void updateDimensions() { float noseMaxDiam, mountMaxDiam = 0.0f; noseMaxDiam = Math.Max(noseModule.moduleLowerDiameter, noseModule.moduleUpperDiameter); ROLLog.debug("currentMount: " + currentMount); if (currentMount.Contains("Mount")) { ROLLog.debug("currentMount: " + currentMount); mountMaxDiam = mountModule.moduleUpperDiameter; } else { mountMaxDiam = Math.Max(mountModule.moduleLowerDiameter, mountModule.moduleUpperDiameter); } totalTankLength = getTotalHeight(); ROLLog.debug("The Total Tank Length is: " + totalTankLength); largestDiameter = Math.Max(currentDiameter, Math.Max(noseMaxDiam, mountMaxDiam)); }
public override void OnStartFinished(StartState state) { base.OnStartFinished(state); modAblator = part.FindModuleImplementing <ModuleAblator>(); modularPart = part.FindModuleImplementing <ModuleROTank>(); if (!(modAblator is ModuleAblator && modularPart is ModuleROTank)) { ROLLog.error($"{part} Unable to find ModuleAblator or ModuleROTank modules"); isEnabled = enabled = false; return; } else { if (modularPart is ModuleROTank) { modularPart.Fields[nameof(modularPart.currentDiameter)].uiControlEditor.onFieldChanged += OnDiameterChange; } UpdateHeatshieldValues(); } }