public ReliabilityInfo(ProtoPartSnapshot p, ProtoPartModuleSnapshot m, Reliability module_prefab) { title = Lib.BuildString(p.partInfo.title, Lib.Color(" " + module_prefab.title, Lib.Kolor.LightGrey)); group = module_prefab.redundancy; broken = Lib.Proto.GetBool(m, "broken", false); critical = Lib.Proto.GetBool(m, "critical", false); partId = 0; need_maintenance = Lib.Proto.GetBool(m, "need_maintenance", false); bool quality = Lib.Proto.GetBool(m, "quality", false); if (module_prefab.rated_operation_duration > 0) { var operation_duration = Lib.Proto.GetDouble(m, "operation_duration", 0); rel_duration = operation_duration / Reliability.EffectiveDuration(quality, module_prefab.rated_operation_duration); rel_duration = Lib.Clamp(rel_duration, 0, 1); } if (module_prefab.rated_ignitions > 0) { var ignitions = Lib.Proto.GetInt(m, "ignitions", 0); rel_ignitions = (double)ignitions / Reliability.EffectiveDuration(quality, module_prefab.rated_ignitions); rel_ignitions = Lib.Clamp(rel_ignitions, 0, 1); } mtbf = Reliability.EffectiveMTBF(quality, module_prefab.mtbf); if (mtbf > 0) { var last_inspection = Lib.Proto.GetDouble(m, "last_inspection", 0); maintenance_after = last_inspection + mtbf * 0.5; } }
public ReliabilityInfo(Reliability module) { title = Lib.BuildString(module.part.partInfo.title, Lib.Color(" " + module.title, Lib.Kolor.LightGrey)); group = module.redundancy; broken = module.broken; critical = module.critical; partId = module.part.flightID; need_maintenance = module.needMaintenance; mtbf = Reliability.EffectiveMTBF(module.quality, module.mtbf); if (module.rated_operation_duration > 0) { rel_duration = module.operation_duration / Reliability.EffectiveDuration(module.quality, module.rated_operation_duration); rel_duration = Lib.Clamp(rel_duration, 0, 1); } if (module.rated_ignitions > 0) { rel_ignitions = (double)module.ignitions / Reliability.EffectiveIgnitions(module.quality, module.rated_ignitions); rel_ignitions = Lib.Clamp(rel_ignitions, 0, 1); } if (mtbf > 0) { maintenance_after = module.last_inspection + mtbf * 0.5; } }