Ich habe eine Frage zu Event-Dispatcher. Ich habe Dispatcher in meinem Code wie folgt erstellt:Event Dispatcher Aufruf Code-Funktion
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FSoundPausedDelegate, bool, isSoundPaused);
UPROPERTY(BlueprintAssignable)
FSoundPausedDelegate AudioPause;
Dies funktioniert einwandfrei in Blueprints. Aber ich weiß nicht wirklich, wie kann ich es machen, um Funktion in Code aufzurufen?
Ich denke, es etwas sein wird mit:
AudioPause.AddDynamic(this, &UAudioController::OnDelegateBroadcast);
Was soll ich es binden? Das bedeutet, dass jedes Mal, wenn ich meine Audiodaten im Blueprint pausiere oder wieder aufhalte, Werte gesendet werden und dann je nach übertragenem Wert mehr Code-Logik ausgeführt wird. Diese
ist, wie meine Funktion wie folgt aussieht:
void UAudioController::OnDelegateBroadcast(bool SoundPaused)
{
if (SoundPaused == true)
{
SoundPause = true;
GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TEXT("True"));
}
else
{
SoundPause = false;
GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, TEXT("False"));
}
}
Das ist wirklich für war hilfsbereit mich! Funktioniert wie Charme, gut zu sehen Antwort so tief erklärt! Vielen Dank: 3 – Avengar