Skip to content

Commit

Permalink
Fix issues with VesselBuildValidator
Browse files Browse the repository at this point in the history
  • Loading branch information
siimav committed Sep 9, 2024
1 parent 7891f0f commit 099ba51
Showing 1 changed file with 29 additions and 33 deletions.
62 changes: 29 additions & 33 deletions Source/RP0/SpaceCenter/VesselBuildValidator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -55,56 +55,52 @@ public void ProcessVessel(VesselProject vp)

private IEnumerator RunValidationRoutine(VesselProject vp)
{
if (ProcessFacilityChecks(vp) != ValidationResult.Success)
{
_failureActions();
yield break;
}
if (!KSPUtils.CurrentGameIsCareer())
{
_successActions(vp);
yield break;
}
_validationResult = ProcessFacilityChecks(vp);

ProcessPartAvailability(vp);
while (_validationResult == ValidationResult.Undecided)
yield return null;

_routine = null;
if (_validationResult != ValidationResult.Success)
if (_validationResult == ValidationResult.Success &&
!KSPUtils.CurrentGameIsCareer())
{
_failureActions();
_routine = null;
_successActions(vp);
yield break;
}

do
if (_validationResult == ValidationResult.Success)
{
ProcessPartConfigs(vp);
ProcessPartAvailability(vp);
while (_validationResult == ValidationResult.Undecided)
yield return null;
}
while (_validationResult == ValidationResult.Rerun);

_routine = null;
if (_validationResult != ValidationResult.Success)
if (_validationResult == ValidationResult.Success)
{
_failureActions();
yield break;
do
{
ProcessPartConfigs(vp);
while (_validationResult == ValidationResult.Undecided)
yield return null;
}
while (_validationResult == ValidationResult.Rerun);
}

if (ProcessFundsChecks(vp) != ValidationResult.Success)
if (_validationResult == ValidationResult.Success)
{
_failureActions();
yield break;
_validationResult = ProcessFundsChecks(vp);
}

ProcessUntooledParts(vp);
while (_validationResult == ValidationResult.Undecided)
yield return null;
if (_validationResult == ValidationResult.Success)
{
ProcessUntooledParts(vp);
while (_validationResult == ValidationResult.Undecided)
yield return null;
}

ProcessExcessEC(vp);
while (_validationResult == ValidationResult.Undecided)
yield return null;
if (_validationResult == ValidationResult.Success)
{
ProcessExcessEC(vp);
while (_validationResult == ValidationResult.Undecided)
yield return null;
}

_routine = null;
if (_validationResult != ValidationResult.Success)
Expand Down

0 comments on commit 099ba51

Please sign in to comment.