EVisibility FEnvQueryTestDetails::GetFloatFilterVisibility() const { if (IsFiltering()) { const UEnvQueryTest* MyTestOb = Cast<const UEnvQueryTest>(MyTest.Get()); if (MyTestOb && MyTestOb->GetWorkOnFloatValues()) { return EVisibility::Visible; } } return EVisibility::Collapsed; }
EVisibility FEnvQueryTestDetails::GetVisibilityOfFloatValueMax() const { if (IsFiltering()) { uint8 EnumValue; FilterTypeHandle->GetValue(EnumValue); const UEnvQueryTest* MyTestOb = Cast<const UEnvQueryTest>(MyTest.Get()); if (MyTestOb && MyTestOb->GetWorkOnFloatValues() && ((EnumValue == EEnvTestFilterType::Maximum) || (EnumValue == EEnvTestFilterType::Range))) { return EVisibility::Visible; } } return EVisibility::Collapsed; }
FText UEnvQueryTest::DescribeBoolTestParams(const FString& ConditionDesc) const { FText FilterDesc; if (IsFiltering() && FilterType == EEnvTestFilterType::Match) { FilterDesc = BoolValue.IsDynamic() ? FText::Format(FText::FromString("{0} {1}: {2}"), LOCTEXT("FilterRequire", "require"), FText::FromString(ConditionDesc), FText::FromString(BoolValue.ToString())) : FText::Format(FText::FromString("{0} {1}{2}"), LOCTEXT("FilterRequire", "require"), BoolValue.DefaultValue ? FText::GetEmpty() : LOCTEXT("NotWithSpace", "not "), FText::FromString(ConditionDesc)); } FNumberFormattingOptions NumberFormattingOptions; NumberFormattingOptions.MaximumFractionalDigits = 2; FText ScoreDesc; if (!IsScoring()) { ScoreDesc = LOCTEXT("DontScore", "don't score"); } else if (ScoringEquation == EEnvTestScoreEquation::Constant) { FText FactorDesc = ScoringFactor.IsDynamic() ? FText::FromString(ScoringFactor.ToString()) : FText::Format(FText::FromString("x{0}"), FText::AsNumber(FMath::Abs(ScoringFactor.DefaultValue), &NumberFormattingOptions)); ScoreDesc = FText::Format(FText::FromString("{0} [{1}]"), LOCTEXT("ScoreConstant", "constant score"), FactorDesc); } else if (ScoringFactor.IsDynamic()) { ScoreDesc = FText::Format(FText::FromString("{0}: {1}"), LOCTEXT("ScoreFactor", "score factor"), FText::FromString(ScoringFactor.ToString())); } else { FText ScoreSignDesc = (ScoringFactor.DefaultValue > 0) ? FText::GetEmpty() : LOCTEXT("NotWithSpace", "not "); FText ScoreValueDesc = FText::AsNumber(FMath::Abs(ScoringFactor.DefaultValue), &NumberFormattingOptions); ScoreDesc = FText::Format(FText::FromString("{0} {1}{2} [x{3}]"), LOCTEXT("ScorePrefer", "prefer"), ScoreSignDesc, FText::FromString(ConditionDesc), ScoreValueDesc); } return FilterDesc.IsEmpty() ? ScoreDesc : FText::Format(FText::FromString("{0}, {1}"), FilterDesc, ScoreDesc); }