diff --git a/src/SampSharp.OpenMp.Entities/Events/EventDispatcher.cs b/src/SampSharp.OpenMp.Entities/Events/EventDispatcher.cs index 7f091bde..8d8ffb88 100644 --- a/src/SampSharp.OpenMp.Entities/Events/EventDispatcher.cs +++ b/src/SampSharp.OpenMp.Entities/Events/EventDispatcher.cs @@ -62,12 +62,7 @@ public void Invoke(string name, params ReadOnlySpan arguments) @event.Cache.TryAdd(NullValue.Instance, invoke); } - var result = invoke(arguments); - - if (result is Task task) - { - HandleTask(task); - } + invoke(arguments); } [return: NotNullIfNotNull(nameof(defaultValue))] @@ -105,11 +100,6 @@ public T InvokeAs(string name, T defaultValue, params ReadOnlySpan ar return taskT.Result; } - if (result is Task task) - { - HandleTask(task); - } - return defaultValue; } @@ -167,6 +157,11 @@ private Event GetOrCreateEvent(string name) var targetResult = targetSite.Invoke(targetSite.Target, context); + if (targetResult is Task task) + { + HandleTask(task); + } + // Do not consider default result as invocation result if (targetResult is null || targetResult == defaultResult) {