From f281639763c09772933e9d9f287d1bca439365a4 Mon Sep 17 00:00:00 2001 From: js6pak Date: Sun, 3 Dec 2023 22:59:05 +0100 Subject: [PATCH] Make GameLogicComponent methods async --- .../Net/Inner/Objects/GameManager/InnerGameManager.cs | 6 +++--- .../Inner/Objects/GameManager/Logic/GameLogicComponent.cs | 4 ++-- .../Net/Inner/Objects/GameManager/Logic/LogicOptions.cs | 4 ++-- src/Impostor.Server/Net/State/Game.Api.cs | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/Impostor.Server/Net/Inner/Objects/GameManager/InnerGameManager.cs b/src/Impostor.Server/Net/Inner/Objects/GameManager/InnerGameManager.cs index 6281c16..ee727f3 100644 --- a/src/Impostor.Server/Net/Inner/Objects/GameManager/InnerGameManager.cs +++ b/src/Impostor.Server/Net/Inner/Objects/GameManager/InnerGameManager.cs @@ -51,14 +51,14 @@ internal abstract class InnerGameManager : InnerNetObject, IInnerGameManager return _logicComponents.IndexOf(logic); } - public override ValueTask HandleRpcAsync(ClientPlayer sender, ClientPlayer? target, RpcCalls call, IMessageReader reader) + public override async ValueTask HandleRpcAsync(ClientPlayer sender, ClientPlayer? target, RpcCalls call, IMessageReader reader) { foreach (var logicComponent in _logicComponents) { - logicComponent.HandleRpc(call, reader); + await logicComponent.HandleRpcAsync(call, reader); } - return ValueTask.FromResult(true); + return true; } public override ValueTask SerializeAsync(IMessageWriter writer, bool initialState) diff --git a/src/Impostor.Server/Net/Inner/Objects/GameManager/Logic/GameLogicComponent.cs b/src/Impostor.Server/Net/Inner/Objects/GameManager/Logic/GameLogicComponent.cs index 3847b53..6993ddb 100644 --- a/src/Impostor.Server/Net/Inner/Objects/GameManager/Logic/GameLogicComponent.cs +++ b/src/Impostor.Server/Net/Inner/Objects/GameManager/Logic/GameLogicComponent.cs @@ -6,12 +6,12 @@ namespace Impostor.Server.Net.Inner.Objects.GameManager.Logic; internal abstract class GameLogicComponent { - public virtual void HandleRpc(RpcCalls callId, IMessageReader reader) + public virtual ValueTask HandleRpcAsync(RpcCalls callId, IMessageReader reader) { throw new NotImplementedException($"Unhandled RpcCall {callId}"); } - public virtual bool Serialize(IMessageWriter writer, bool initialState) + public virtual ValueTask SerializeAsync(IMessageWriter writer, bool initialState) { throw new NotImplementedException(); } diff --git a/src/Impostor.Server/Net/Inner/Objects/GameManager/Logic/LogicOptions.cs b/src/Impostor.Server/Net/Inner/Objects/GameManager/Logic/LogicOptions.cs index f444582..2622e52 100644 --- a/src/Impostor.Server/Net/Inner/Objects/GameManager/Logic/LogicOptions.cs +++ b/src/Impostor.Server/Net/Inner/Objects/GameManager/Logic/LogicOptions.cs @@ -17,10 +17,10 @@ internal abstract class LogicOptions : GameLogicComponent _eventManager = eventManager; } - public override bool Serialize(IMessageWriter writer, bool initialState) + public override ValueTask SerializeAsync(IMessageWriter writer, bool initialState) { GameOptionsFactory.Serialize(writer, _game.Options); - return true; + return ValueTask.FromResult(true); } public override async ValueTask DeserializeAsync(IMessageReader reader, bool initialState) diff --git a/src/Impostor.Server/Net/State/Game.Api.cs b/src/Impostor.Server/Net/State/Game.Api.cs index e3fc4cb..8a61f7c 100644 --- a/src/Impostor.Server/Net/State/Game.Api.cs +++ b/src/Impostor.Server/Net/State/Game.Api.cs @@ -56,7 +56,7 @@ namespace Impostor.Server.Net.State writer.WritePacked(GameNet.GameManager.NetId); writer.StartMessage((byte)gameOptionsTag); - GameNet.GameManager.LogicOptions.Serialize(writer, false); + await GameNet.GameManager.LogicOptions.SerializeAsync(writer, false); writer.EndMessage(); writer.EndMessage(); -- 2.39.5