# EPrimeDialogForgeState

`EPrimeDialogForgeState` belongs to the PrimeDialog Forge runtime module.

Exercitation duis quis nostrud occaecat consequat lorem do aute lorem eiusmod nulla aliqua consequat. Sit velit irure magna aliqua velit amet irure. Nulla laboris minim et ipsum aliquip ea ex laboris reprehenderit cillum nostrud. Occaecat dolore irure excepteur quis esse tempor aute eiusmod magna laboris ea.

## Declaration

```cpp
UINTERFACE(MinimalAPI, Blueprintable)
class UPrimeDialog ForgeInterface : public UInterface
{
    GENERATED_BODY()
};

class IPrimeDialog ForgeInterface
{
    GENERATED_BODY()

public:
    UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PrimeDialog Forge")
    void OnPluginActivated(bool bSuccess);

    UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PrimeDialog Forge")
    FMyResult ProcessData(const FMyInput& Input);

    UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "PrimeDialog Forge")
    bool CanExecute() const;
};
```

## 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;
}
```