From 20fc06ec9fc5b992b29d36d7a76c2b19e3d94416 Mon Sep 17 00:00:00 2001 From: arthurkehrwald <50906979+arthurkehrwald@users.noreply.github.com> Date: Thu, 16 Jan 2025 20:31:00 +0100 Subject: [PATCH 1/3] Make VisualScriptingGamelogicEngine.OnInit asynchronous --- Runtime/Gamelogic/VisualScriptingGamelogicEngine.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Runtime/Gamelogic/VisualScriptingGamelogicEngine.cs b/Runtime/Gamelogic/VisualScriptingGamelogicEngine.cs index 6fc794b..a28c781 100644 --- a/Runtime/Gamelogic/VisualScriptingGamelogicEngine.cs +++ b/Runtime/Gamelogic/VisualScriptingGamelogicEngine.cs @@ -22,6 +22,7 @@ using Unity.VisualScripting; using UnityEngine; using VisualPinball.Engine.Game.Engines; +using System.Threading.Tasks; namespace VisualPinball.Unity.VisualScripting { @@ -141,7 +142,7 @@ public void DestroyPlayerStates() _currentPlayer = 0; } - public void OnInit(Player player, TableApi tableApi, BallManager ballManager) + public Task OnInit(Player player, TableApi tableApi, BallManager ballManager) { _player = player; BallManager = ballManager; @@ -155,6 +156,8 @@ public void OnInit(Player player, TableApi tableApi, BallManager ballManager) } OnStarted?.Invoke(this, EventArgs.Empty); EventBus.Trigger(VisualScriptingEventNames.GleStartedEvent, EventArgs.Empty); + + return Task.CompletedTask(); } public void DisplayClear(string id) From 906792d2ce7e89c985dea34c3e96ab1873c44fa8 Mon Sep 17 00:00:00 2001 From: arthurkehrwald <50906979+arthurkehrwald@users.noreply.github.com> Date: Wed, 22 Jan 2025 23:55:44 +0100 Subject: [PATCH 2/3] Fix syntax error --- Runtime/Gamelogic/VisualScriptingGamelogicEngine.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Runtime/Gamelogic/VisualScriptingGamelogicEngine.cs b/Runtime/Gamelogic/VisualScriptingGamelogicEngine.cs index a28c781..95aedc0 100644 --- a/Runtime/Gamelogic/VisualScriptingGamelogicEngine.cs +++ b/Runtime/Gamelogic/VisualScriptingGamelogicEngine.cs @@ -157,7 +157,7 @@ public Task OnInit(Player player, TableApi tableApi, BallManager ballManager) OnStarted?.Invoke(this, EventArgs.Empty); EventBus.Trigger(VisualScriptingEventNames.GleStartedEvent, EventArgs.Empty); - return Task.CompletedTask(); + return Task.CompletedTask; } public void DisplayClear(string id) From dc4b6505b7ed0134c91395f6731b1da6d4184e38 Mon Sep 17 00:00:00 2001 From: arthurkehrwald <50906979+arthurkehrwald@users.noreply.github.com> Date: Fri, 24 Jan 2025 20:55:42 +0100 Subject: [PATCH 3/3] Accept cancellation token in OnInit --- Runtime/Gamelogic/VisualScriptingGamelogicEngine.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Runtime/Gamelogic/VisualScriptingGamelogicEngine.cs b/Runtime/Gamelogic/VisualScriptingGamelogicEngine.cs index 95aedc0..de5701f 100644 --- a/Runtime/Gamelogic/VisualScriptingGamelogicEngine.cs +++ b/Runtime/Gamelogic/VisualScriptingGamelogicEngine.cs @@ -23,6 +23,7 @@ using UnityEngine; using VisualPinball.Engine.Game.Engines; using System.Threading.Tasks; +using System.Threading; namespace VisualPinball.Unity.VisualScripting { @@ -142,7 +143,7 @@ public void DestroyPlayerStates() _currentPlayer = 0; } - public Task OnInit(Player player, TableApi tableApi, BallManager ballManager) + public Task OnInit(Player player, TableApi tableApi, BallManager ballManager, CancellationToken ct) { _player = player; BallManager = ballManager;