From: Saghetti0 <60995055+Saghetti0@users.noreply.github.com> Date: Mon, 26 Oct 2020 03:52:57 +0000 (-0700) Subject: Add GameAlterEvent (#86) X-Git-Tag: v1.2.2~71 X-Git-Url: https://git.deb.at/?a=commitdiff_plain;h=5229bb3681e7c7e2fbc881debdf0fd30148b6561;p=rhonda%2Fimpostor.git Add GameAlterEvent (#86) * Create GameAlterEvent * Fire GameAlterEvent from HandleAlterGame * Rename GameAlterEvent to GameAlterEvent.cs * Update GameAlterEvent Co-authored-by: AeonLucid --- 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 +}