From 5229bb3681e7c7e2fbc881debdf0fd30148b6561 Mon Sep 17 00:00:00 2001 From: Saghetti0 <60995055+Saghetti0@users.noreply.github.com> Date: Sun, 25 Oct 2020 20:52:57 -0700 Subject: [PATCH] Add GameAlterEvent (#86) * Create GameAlterEvent * Fire GameAlterEvent from HandleAlterGame * Rename GameAlterEvent to GameAlterEvent.cs * Update GameAlterEvent Co-authored-by: AeonLucid --- .../Events/Game/IGameAlterEvent.cs | 7 +++++++ .../Events/Game/GameAlterEvent.cs | 18 ++++++++++++++++++ src/Impostor.Server/Net/State/Game.Incoming.cs | 4 +++- 3 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 src/Impostor.Api/Events/Game/IGameAlterEvent.cs create mode 100644 src/Impostor.Server/Events/Game/GameAlterEvent.cs diff --git a/src/Impostor.Api/Events/Game/IGameAlterEvent.cs b/src/Impostor.Api/Events/Game/IGameAlterEvent.cs new file mode 100644 index 0000000..18956ea --- /dev/null +++ b/src/Impostor.Api/Events/Game/IGameAlterEvent.cs @@ -0,0 +1,7 @@ +namespace Impostor.Api.Events +{ + public interface IGameAlterEvent : IGameEvent + { + bool IsPublic { get; } + } +} diff --git a/src/Impostor.Server/Events/Game/GameAlterEvent.cs b/src/Impostor.Server/Events/Game/GameAlterEvent.cs new file mode 100644 index 0000000..3fb2368 --- /dev/null +++ b/src/Impostor.Server/Events/Game/GameAlterEvent.cs @@ -0,0 +1,18 @@ +using Impostor.Api.Events; +using Impostor.Api.Games; + +namespace Impostor.Server.Events +{ + public class GameAlterEvent : IGameAlterEvent + { + public GameAlterEvent(IGame game, bool isPublic) + { + Game = game; + IsPublic = isPublic; + } + + public IGame Game { get; } + + public bool IsPublic { get; } + } +} diff --git a/src/Impostor.Server/Net/State/Game.Incoming.cs b/src/Impostor.Server/Net/State/Game.Incoming.cs index 4ff9a63..4fcc83b 100644 --- a/src/Impostor.Server/Net/State/Game.Incoming.cs +++ b/src/Impostor.Server/Net/State/Game.Incoming.cs @@ -138,6 +138,8 @@ namespace Impostor.Server.Net.State using var packet = MessageWriter.Get(MessageType.Reliable); message.CopyTo(packet); await SendToAllExceptAsync(packet, sender.Client.Id); + + await _eventManager.CallAsync(new GameAlterEvent(this, isPublic)); } public async ValueTask HandleRemovePlayer(int playerId, DisconnectReason reason) @@ -235,4 +237,4 @@ namespace Impostor.Server.Net.State } } } -} \ No newline at end of file +} -- 2.39.5