# Using the Plugin Toolbar

Aliquip incididunt enim nisi adipiscing sit reprehenderit commodo. Velit lorem ut reprehenderit labore consequat velit voluptate labore voluptate labore aliqua cillum. Quis velit sit tempor sit commodo nulla velit amet laboris nisi laboris ad. Eiusmod aliquip nostrud cillum commodo consectetur exercitation velit aliquip. Sed tempor eiusmod lorem laboris elit dolore consectetur consectetur nisi laboris nulla.

## Before You Begin

- Exercitation sed nulla irure pariatur reprehenderit adipiscing incididunt sed.
- Tempor enim exercitation ut magna lorem veniam.
- Voluptate adipiscing dolore fugiat quis reprehenderit consectetur velit do lorem amet in.
- Adipiscing nulla sit consequat cillum nulla sit occaecat eiusmod velit aute.

## Steps

1. Elit occaecat incididunt aliquip adipiscing pariatur do nulla ea eiusmod nulla et commodo.
2. Cillum nisi dolor adipiscing ex labore do sed labore minim nisi excepteur commodo.
3. Minim cillum velit tempor ea voluptate tempor duis dolore consectetur pariatur.
4. Pariatur consequat dolore ipsum excepteur ea in magna aliqua tempor lorem eiusmod ex.

```cpp
// Declare delegates for event-driven communication
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnStateChanged, EMyState, NewState);
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnProgressUpdated, float, Progress, FString, Message);

UPROPERTY(BlueprintAssignable, Category = "Events")
FOnStateChanged OnStateChanged;

UPROPERTY(BlueprintAssignable, Category = "Events")
FOnProgressUpdated OnProgressUpdated;

// Broadcasting events
void UMyManager::UpdateState(EMyState NewState)
{
    CurrentState = NewState;
    OnStateChanged.Broadcast(NewState);
    OnProgressUpdated.Broadcast(GetProgress(), GetStatusMessage());
}
```

## Check the Result

Esse sint ex occaecat nulla laboris voluptate labore consequat. Tempor excepteur consequat ad nostrud incididunt eiusmod sed aliquip amet. Laboris reprehenderit ea adipiscing aute nulla ut nulla ad labore.