public override bool RequirementMet(ConfiguredContract contract) { LoggingUtil.LogVerbose(this, "Checking requirement"); // Perform another validation of the target body to catch late validation issues due to expressions if (!ValidateTargetBody()) { return(false); } if (RemoteTechProgressTracker.Instance == null) { // Assume no coverage return(maxCoverage == 0.0); } double coverage = RemoteTechProgressTracker.GetCoverage(targetBody); return(coverage >= minCoverage && coverage <= maxCoverage); }
protected override void OnUpdate() { if (RemoteTechProgressTracker.Instance != null) { double oldCoverage = currentCoverage; currentCoverage = RemoteTechProgressTracker.GetCoverage(targetBody); if (currentCoverage >= coverage) { SetState(ParameterState.Complete); RemoteTechProgressTracker.Instance.RemoveFromPriorityList(targetBody); } else { SetState(ParameterState.Incomplete); RemoteTechProgressTracker.Instance.AddToPriorityList(targetBody); } // Update contract window GetTitle(); } }