summaryrefslogtreecommitdiff
path: root/Client/Assembly-CSharp/MeetingRoomManager.cs
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2020-12-30 20:59:04 +0800
committerchai <chaifix@163.com>2020-12-30 20:59:04 +0800
commite9ea621b93fbb58d9edfca8375918791637bbd52 (patch)
tree19ce3b1c1f2d51eda6878c9d0f2c9edc27f13650 /Client/Assembly-CSharp/MeetingRoomManager.cs
+init
Diffstat (limited to 'Client/Assembly-CSharp/MeetingRoomManager.cs')
-rw-r--r--Client/Assembly-CSharp/MeetingRoomManager.cs36
1 files changed, 36 insertions, 0 deletions
diff --git a/Client/Assembly-CSharp/MeetingRoomManager.cs b/Client/Assembly-CSharp/MeetingRoomManager.cs
new file mode 100644
index 0000000..dcb519f
--- /dev/null
+++ b/Client/Assembly-CSharp/MeetingRoomManager.cs
@@ -0,0 +1,36 @@
+using System;
+using InnerNet;
+
+public class MeetingRoomManager : IDisconnectHandler
+{
+ public static readonly MeetingRoomManager Instance = new MeetingRoomManager();
+
+ private PlayerControl reporter;
+
+ private GameData.PlayerInfo target;
+
+ public void AssignSelf(PlayerControl reporter, GameData.PlayerInfo target)
+ {
+ this.reporter = reporter;
+ this.target = target;
+ AmongUsClient.Instance.DisconnectHandlers.AddUnique(this);
+ }
+
+ public void RemoveSelf()
+ {
+ AmongUsClient.Instance.DisconnectHandlers.Remove(this);
+ }
+
+ public void HandleDisconnect(PlayerControl pc, DisconnectReasons reason)
+ {
+ if (AmongUsClient.Instance.AmHost)
+ {
+ this.reporter.CmdReportDeadBody(this.target);
+ }
+ }
+
+ public void HandleDisconnect()
+ {
+ this.HandleDisconnect(null, DisconnectReasons.ExitGame);
+ }
+}