]> git.deb.at Git - rhonda/impostor.git/commitdiff
Add GameAlterEvent (#86)
authorSaghetti0 <60995055+Saghetti0@users.noreply.github.com>
Mon, 26 Oct 2020 03:52:57 +0000 (20:52 -0700)
committerGitHub <noreply@github.com>
Mon, 26 Oct 2020 03:52:57 +0000 (04:52 +0100)
* Create GameAlterEvent

* Fire GameAlterEvent from HandleAlterGame

* Rename GameAlterEvent to GameAlterEvent.cs

* Update GameAlterEvent

Co-authored-by: AeonLucid <aeonlucid@outlook.com>
src/Impostor.Api/Events/Game/IGameAlterEvent.cs [new file with mode: 0644]
src/Impostor.Server/Events/Game/GameAlterEvent.cs [new file with mode: 0644]
src/Impostor.Server/Net/State/Game.Incoming.cs

diff --git a/src/Impostor.Api/Events/Game/IGameAlterEvent.cs b/src/Impostor.Api/Events/Game/IGameAlterEvent.cs
new file mode 100644 (file)
index 0000000..18956ea
--- /dev/null
@@ -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 (file)
index 0000000..3fb2368
--- /dev/null
@@ -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; }
+    }
+}
index 4ff9a63f844ccede40a3cff7a06e18a2882d5a40..4fcc83b142b978a80cf898b4ca743ecd290d5dd0 100644 (file)
@@ -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
+}