public override void OnUpdate() { if (!TestFlightEnabled) { return; } base.OnUpdate(); float currentMet = core.GetOperatingTime(); if (!IsRecordingFlightData()) { lastRecordedMet = currentMet; return; } if (IsRecordingFlightData()) { float flightData = (currentMet - lastRecordedMet) * flightDataMultiplier; float engineerBonus = core.GetEngineerDataBonus(flightDataEngineerModifier); flightData *= engineerBonus; if (flightData >= 0) { core.ModifyFlightData(flightData, true); } } core.ModifyFlightTime(currentMet - lastRecordedMet, true); lastRecordedMet = currentMet; }
public override void OnUpdate() { if (!TestFlightEnabled) { return; } base.OnUpdate(); double currentMet = core.GetOperatingTime(); if (!IsRecordingFlightData()) { lastRecordedMet = currentMet; return; } string scope = core.GetScope(); if (IsRecordingFlightData()) { double flightData = (currentMet - lastRecordedMet) * flightDataMultiplier; double engineerBonus = core.GetEngineerDataBonus(flightDataEngineerModifier); flightData *= engineerBonus; if (flightData >= 0) { core.ModifyFlightDataForScope(flightData, scope, true); } } core.ModifyFlightTimeForScope(currentMet - lastRecordedMet, scope, true); lastRecordedMet = currentMet; }
// Returns the total engineer bonus for the current vessel's current crew based on the given part's desired per engineer level bonus public static float GetEngineerDataBonus(Part part, string alias, float partEngineerBonus) { ITestFlightCore core = TestFlightInterface.GetCore(part, alias); if (core == null) { return(1); } return(core.GetEngineerDataBonus(partEngineerBonus)); }
// Returns the total engineer bonus for the current vessel's current crew based on the given part's desired per engineer level bonus public static double GetEngineerDataBonus(Part part, double partEngineerBonus) { ITestFlightCore core = TestFlightInterface.GetCore(part); if (core == null) { return(1); } return(core.GetEngineerDataBonus(partEngineerBonus)); }