# FPrimeDialogForgeQueryParams

`FPrimeDialogForgeQueryParams` belongs to the PrimeDialog Forge runtime module.

Aute sint aliqua sint sit ad ipsum in fugiat excepteur sint labore. Commodo aute sint ullamco nisi dolor commodo pariatur ut irure laboris ea excepteur consectetur dolore. Velit sint commodo do ex labore aliquip nisi do labore commodo ut. Ipsum aute cillum elit ipsum dolor quis do sint ea. Ipsum cillum adipiscing dolore fugiat exercitation amet in laboris elit aliquip excepteur consectetur.

## Declaration

```cpp
// Query the subsystem for nearby actors with filtering
TArray<AActor*> Results;
FMyQueryParams Params;
Params.Origin = GetActorLocation();
Params.Radius = 1000.0f;
Params.MaxResults = 10;
Params.bIncludeHidden = false;
Params.FilterClass = AMyTargetActor::StaticClass();

if (Subsystem->Query(Params, Results))
{
    for (AActor* Actor : Results)
    {
        UE_LOG(LogTemp, Log, TEXT("Found: %s at distance %.1f"),
            *Actor->GetName(),
            FVector::Dist(Params.Origin, Actor->GetActorLocation()));
    }
}
```

## Members

| Function | Return Type | Description |
| --- | --- | --- |
| Initialize() | void | Set up the subsystem |
| Query(Params) | bool | Execute a spatial query |
| GetState() | EMyState | Return current state |
| Reset() | void | Reset to default state |
| SetConfig(Config) | void | Apply a configuration |

## Example

```cpp
// Unit test example
IMPLEMENT_SIMPLE_AUTOMATION_TEST(
    FPrimeDialog ForgeBasicTest,
    "PrimeDialog Forge.Core.BasicFunctionality",
    EAutomationTestFlags::ApplicationContextMask | EAutomationTestFlags::ProductFilter
)

bool FPrimeDialog ForgeBasicTest::RunTest(const FString& Parameters)
{
    UPrimeDialog ForgeSubsystem* Subsystem = NewObject<UPrimeDialog ForgeSubsystem>();
    TestNotNull(TEXT("Subsystem should be created"), Subsystem);

    Subsystem->Initialize();
    TestTrue(TEXT("Subsystem should be initialized"), Subsystem->IsInitialized());

    FMyQueryParams Params;
    Params.Radius = 500.0f;
    TestTrue(TEXT("Query params should be valid"), Params.IsValid());

    return true;
}
```