public void FindPartTemperatures() { if (activeVessel.Parts.Count != vesselPartCount) { vesselPartCount = activeVessel.Parts.Count; radiators.Clear(); partTargetTemps.Clear(); ModuleRadiator radiator; ModuleTargetTemp moduleTargetTemp; foreach (Part part in activeVessel.Parts) { //If the part has a radiator then add it to the radiator's list. radiator = part.FindModuleImplementing <ModuleRadiator>(); if (radiator != null) { radiators.Add(radiator); radiator.radiatorDestroyedDelegate = RadiatorDestroyed; continue; } //It isn't a radiator, if it's physicsless then keep going if (part.PhysicsSignificance == 1) { continue; } //Create a new PartTargetTemp PartTargetTemp partTargetTemp = new PartTargetTemp(); partTargetTemps.Add(partTargetTemp); partTargetTemp.part = part; //If the part has a ModuleTargetTemp then use its temperature moduleTargetTemp = part.FindModuleImplementing <ModuleTargetTemp>(); if (moduleTargetTemp != null) { partTargetTemp.targetTemp = moduleTargetTemp.targetTemperature; } //If the part is crewed then the target temperature is room temperature. else if (part.CrewCapacity > 0) { partTargetTemp.targetTemp = kRoomTemperature; } //By default, the part will be kept at a percentage of its maximum temperature. //This can be configured in the Cooldown config file else { partTargetTemp.targetTemp = part.maxTemp * maxTempPercent; } } } }
public void FindPartTemperatures() { if (activeVessel.Parts.Count != vesselPartCount) { vesselPartCount = activeVessel.Parts.Count; radiators.Clear(); partTargetTemps.Clear(); ModuleRadiator radiator; ModuleTargetTemp moduleTargetTemp; foreach (Part part in activeVessel.Parts) { //If the part has a radiator then add it to the radiator's list. radiator = part.FindModuleImplementing<ModuleRadiator>(); if (radiator != null) { radiators.Add(radiator); radiator.radiatorDestroyedDelegate = RadiatorDestroyed; continue; } //It isn't a radiator, if it's physicsless then keep going if (part.PhysicsSignificance == 1) continue; //Create a new PartTargetTemp PartTargetTemp partTargetTemp = new PartTargetTemp(); partTargetTemps.Add(partTargetTemp); partTargetTemp.part = part; //If the part has a ModuleTargetTemp then use its temperature moduleTargetTemp = part.FindModuleImplementing<ModuleTargetTemp>(); if (moduleTargetTemp != null) partTargetTemp.targetTemp = moduleTargetTemp.targetTemperature; //If the part is crewed then the target temperature is room temperature. else if (part.CrewCapacity > 0) partTargetTemp.targetTemp = kRoomTemperature; //By default, the part will be kept at a percentage of its maximum temperature. //This can be configured in the Cooldown config file else partTargetTemp.targetTemp = part.maxTemp * maxTempPercent; } } }