summaryrefslogtreecommitdiff
path: root/Impostor-dev/src/Impostor.Api/Events/Game
diff options
context:
space:
mode:
Diffstat (limited to 'Impostor-dev/src/Impostor.Api/Events/Game')
-rw-r--r--Impostor-dev/src/Impostor.Api/Events/Game/IGameAlterEvent.cs7
-rw-r--r--Impostor-dev/src/Impostor.Api/Events/Game/IGameCreatedEvent.cs11
-rw-r--r--Impostor-dev/src/Impostor.Api/Events/Game/IGameDestroyedEvent.cs11
-rw-r--r--Impostor-dev/src/Impostor.Api/Events/Game/IGameEndedEvent.cs9
-rw-r--r--Impostor-dev/src/Impostor.Api/Events/Game/IGameEvent.cs12
-rw-r--r--Impostor-dev/src/Impostor.Api/Events/Game/IGamePlayerJoinedEvent.cs6
-rw-r--r--Impostor-dev/src/Impostor.Api/Events/Game/IGamePlayerLeftEvent.cs6
-rw-r--r--Impostor-dev/src/Impostor.Api/Events/Game/IGameStartedEvent.cs9
-rw-r--r--Impostor-dev/src/Impostor.Api/Events/Game/IGameStartingEvent.cs11
-rw-r--r--Impostor-dev/src/Impostor.Api/Events/Game/Meeting/IMeetingEndedEvent.cs6
-rw-r--r--Impostor-dev/src/Impostor.Api/Events/Game/Meeting/IMeetingEvent.cs9
-rw-r--r--Impostor-dev/src/Impostor.Api/Events/Game/Meeting/IMeetingStartedEvent.cs6
-rw-r--r--Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerChatEvent.cs10
-rw-r--r--Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerCompletedTaskEvent.cs10
-rw-r--r--Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerDestroyedEvent.cs6
-rw-r--r--Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerEvent.cs19
-rw-r--r--Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerExileEvent.cs9
-rw-r--r--Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerMurderEvent.cs12
-rw-r--r--Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerSetStartCounterEvent.cs10
-rw-r--r--Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerSpawnedEvent.cs6
-rw-r--r--Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerStartMeetingEvent.cs12
-rw-r--r--Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerVentEvent.cs17
22 files changed, 214 insertions, 0 deletions
diff --git a/Impostor-dev/src/Impostor.Api/Events/Game/IGameAlterEvent.cs b/Impostor-dev/src/Impostor.Api/Events/Game/IGameAlterEvent.cs
new file mode 100644
index 0000000..18956ea
--- /dev/null
+++ b/Impostor-dev/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/Impostor-dev/src/Impostor.Api/Events/Game/IGameCreatedEvent.cs b/Impostor-dev/src/Impostor.Api/Events/Game/IGameCreatedEvent.cs
new file mode 100644
index 0000000..ef45f1d
--- /dev/null
+++ b/Impostor-dev/src/Impostor.Api/Events/Game/IGameCreatedEvent.cs
@@ -0,0 +1,11 @@
+using Impostor.Api.Games;
+
+namespace Impostor.Api.Events
+{
+ /// <summary>
+ /// Called whenever a new <see cref="IGame"/> is created.
+ /// </summary>
+ public interface IGameCreatedEvent : IGameEvent
+ {
+ }
+}
diff --git a/Impostor-dev/src/Impostor.Api/Events/Game/IGameDestroyedEvent.cs b/Impostor-dev/src/Impostor.Api/Events/Game/IGameDestroyedEvent.cs
new file mode 100644
index 0000000..7ff7b46
--- /dev/null
+++ b/Impostor-dev/src/Impostor.Api/Events/Game/IGameDestroyedEvent.cs
@@ -0,0 +1,11 @@
+using Impostor.Api.Games;
+
+namespace Impostor.Api.Events
+{
+ /// <summary>
+ /// Called whenever a new <see cref="IGame"/> is destroyed.
+ /// </summary>
+ public interface IGameDestroyedEvent : IGameEvent
+ {
+ }
+}
diff --git a/Impostor-dev/src/Impostor.Api/Events/Game/IGameEndedEvent.cs b/Impostor-dev/src/Impostor.Api/Events/Game/IGameEndedEvent.cs
new file mode 100644
index 0000000..d8ae159
--- /dev/null
+++ b/Impostor-dev/src/Impostor.Api/Events/Game/IGameEndedEvent.cs
@@ -0,0 +1,9 @@
+using Impostor.Api.Innersloth;
+
+namespace Impostor.Api.Events
+{
+ public interface IGameEndedEvent : IGameEvent
+ {
+ public GameOverReason GameOverReason { get; }
+ }
+}
diff --git a/Impostor-dev/src/Impostor.Api/Events/Game/IGameEvent.cs b/Impostor-dev/src/Impostor.Api/Events/Game/IGameEvent.cs
new file mode 100644
index 0000000..c9ae579
--- /dev/null
+++ b/Impostor-dev/src/Impostor.Api/Events/Game/IGameEvent.cs
@@ -0,0 +1,12 @@
+using Impostor.Api.Games;
+
+namespace Impostor.Api.Events
+{
+ public interface IGameEvent : IEvent
+ {
+ /// <summary>
+ /// Gets the <see cref="IGame"/> this event belongs to.
+ /// </summary>
+ IGame Game { get; }
+ }
+}
diff --git a/Impostor-dev/src/Impostor.Api/Events/Game/IGamePlayerJoinedEvent.cs b/Impostor-dev/src/Impostor.Api/Events/Game/IGamePlayerJoinedEvent.cs
new file mode 100644
index 0000000..921568e
--- /dev/null
+++ b/Impostor-dev/src/Impostor.Api/Events/Game/IGamePlayerJoinedEvent.cs
@@ -0,0 +1,6 @@
+namespace Impostor.Api.Events
+{
+ public interface IGamePlayerJoinedEvent : IGameEvent
+ {
+ }
+}
diff --git a/Impostor-dev/src/Impostor.Api/Events/Game/IGamePlayerLeftEvent.cs b/Impostor-dev/src/Impostor.Api/Events/Game/IGamePlayerLeftEvent.cs
new file mode 100644
index 0000000..21d8b7c
--- /dev/null
+++ b/Impostor-dev/src/Impostor.Api/Events/Game/IGamePlayerLeftEvent.cs
@@ -0,0 +1,6 @@
+namespace Impostor.Api.Events
+{
+ public interface IGamePlayerLeftEvent : IGameEvent
+ {
+ }
+}
diff --git a/Impostor-dev/src/Impostor.Api/Events/Game/IGameStartedEvent.cs b/Impostor-dev/src/Impostor.Api/Events/Game/IGameStartedEvent.cs
new file mode 100644
index 0000000..b6e5111
--- /dev/null
+++ b/Impostor-dev/src/Impostor.Api/Events/Game/IGameStartedEvent.cs
@@ -0,0 +1,9 @@
+namespace Impostor.Api.Events
+{
+ /// <summary>
+ /// The game is started here and players have been initialized.
+ /// </summary>
+ public interface IGameStartedEvent : IGameEvent
+ {
+ }
+}
diff --git a/Impostor-dev/src/Impostor.Api/Events/Game/IGameStartingEvent.cs b/Impostor-dev/src/Impostor.Api/Events/Game/IGameStartingEvent.cs
new file mode 100644
index 0000000..5998bf2
--- /dev/null
+++ b/Impostor-dev/src/Impostor.Api/Events/Game/IGameStartingEvent.cs
@@ -0,0 +1,11 @@
+namespace Impostor.Api.Events
+{
+ /// <summary>
+ /// Called when the game is going to start.
+ /// When this is called, not all players are initialized properly yet.
+ /// If you want to get correct player states, use <see cref="IGameStartedEvent"/>.
+ /// </summary>
+ public interface IGameStartingEvent : IGameEvent
+ {
+ }
+}
diff --git a/Impostor-dev/src/Impostor.Api/Events/Game/Meeting/IMeetingEndedEvent.cs b/Impostor-dev/src/Impostor.Api/Events/Game/Meeting/IMeetingEndedEvent.cs
new file mode 100644
index 0000000..a217580
--- /dev/null
+++ b/Impostor-dev/src/Impostor.Api/Events/Game/Meeting/IMeetingEndedEvent.cs
@@ -0,0 +1,6 @@
+namespace Impostor.Api.Events.Meeting
+{
+ public interface IMeetingEndedEvent : IMeetingEvent
+ {
+ }
+}
diff --git a/Impostor-dev/src/Impostor.Api/Events/Game/Meeting/IMeetingEvent.cs b/Impostor-dev/src/Impostor.Api/Events/Game/Meeting/IMeetingEvent.cs
new file mode 100644
index 0000000..4461318
--- /dev/null
+++ b/Impostor-dev/src/Impostor.Api/Events/Game/Meeting/IMeetingEvent.cs
@@ -0,0 +1,9 @@
+using Impostor.Api.Net.Inner.Objects;
+
+namespace Impostor.Api.Events.Meeting
+{
+ public interface IMeetingEvent : IGameEvent
+ {
+ IInnerMeetingHud MeetingHud { get; }
+ }
+}
diff --git a/Impostor-dev/src/Impostor.Api/Events/Game/Meeting/IMeetingStartedEvent.cs b/Impostor-dev/src/Impostor.Api/Events/Game/Meeting/IMeetingStartedEvent.cs
new file mode 100644
index 0000000..a237fff
--- /dev/null
+++ b/Impostor-dev/src/Impostor.Api/Events/Game/Meeting/IMeetingStartedEvent.cs
@@ -0,0 +1,6 @@
+namespace Impostor.Api.Events.Meeting
+{
+ public interface IMeetingStartedEvent : IMeetingEvent
+ {
+ }
+}
diff --git a/Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerChatEvent.cs b/Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerChatEvent.cs
new file mode 100644
index 0000000..52efe96
--- /dev/null
+++ b/Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerChatEvent.cs
@@ -0,0 +1,10 @@
+namespace Impostor.Api.Events.Player
+{
+ public interface IPlayerChatEvent : IPlayerEvent
+ {
+ /// <summary>
+ /// Gets the message sent by the player.
+ /// </summary>
+ string Message { get; }
+ }
+}
diff --git a/Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerCompletedTaskEvent.cs b/Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerCompletedTaskEvent.cs
new file mode 100644
index 0000000..78ccd2d
--- /dev/null
+++ b/Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerCompletedTaskEvent.cs
@@ -0,0 +1,10 @@
+using Impostor.Api.Innersloth;
+using Impostor.Api.Net.Inner.Objects;
+
+namespace Impostor.Api.Events.Player
+{
+ public interface IPlayerCompletedTaskEvent : IPlayerEvent
+ {
+ ITaskInfo Task { get; }
+ }
+}
diff --git a/Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerDestroyedEvent.cs b/Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerDestroyedEvent.cs
new file mode 100644
index 0000000..ac80d64
--- /dev/null
+++ b/Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerDestroyedEvent.cs
@@ -0,0 +1,6 @@
+namespace Impostor.Api.Events.Player
+{
+ public interface IPlayerDestroyedEvent : IPlayerEvent
+ {
+ }
+}
diff --git a/Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerEvent.cs b/Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerEvent.cs
new file mode 100644
index 0000000..247fe64
--- /dev/null
+++ b/Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerEvent.cs
@@ -0,0 +1,19 @@
+using Impostor.Api.Net;
+using Impostor.Api.Net.Inner.Objects;
+
+namespace Impostor.Api.Events.Player
+{
+ public interface IPlayerEvent : IGameEvent
+ {
+ /// <summary>
+ /// Gets the <see cref="IClientPlayer"/> that triggered this <see cref="IPlayerEvent"/>.
+ /// </summary>
+ IClientPlayer ClientPlayer { get; }
+
+ /// <summary>
+ /// Gets the networked <see cref="IInnerPlayerControl"/> that triggered this <see cref="IPlayerEvent"/>.
+ /// This <see cref="IInnerPlayerControl"/> belongs to the <see cref="IClientPlayer"/>.
+ /// </summary>
+ IInnerPlayerControl PlayerControl { get; }
+ }
+} \ No newline at end of file
diff --git a/Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerExileEvent.cs b/Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerExileEvent.cs
new file mode 100644
index 0000000..65ade4e
--- /dev/null
+++ b/Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerExileEvent.cs
@@ -0,0 +1,9 @@
+namespace Impostor.Api.Events.Player
+{
+ /// <summary>
+ /// Called whenever a player gets exiled (voted out).
+ /// </summary>
+ public interface IPlayerExileEvent : IPlayerEvent
+ {
+ }
+}
diff --git a/Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerMurderEvent.cs b/Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerMurderEvent.cs
new file mode 100644
index 0000000..c47c00b
--- /dev/null
+++ b/Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerMurderEvent.cs
@@ -0,0 +1,12 @@
+using Impostor.Api.Net.Inner.Objects;
+
+namespace Impostor.Api.Events.Player
+{
+ public interface IPlayerMurderEvent : IPlayerEvent
+ {
+ /// <summary>
+ /// Gets the player who got murdered.
+ /// </summary>
+ IInnerPlayerControl Victim { get; }
+ }
+}
diff --git a/Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerSetStartCounterEvent.cs b/Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerSetStartCounterEvent.cs
new file mode 100644
index 0000000..c03d782
--- /dev/null
+++ b/Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerSetStartCounterEvent.cs
@@ -0,0 +1,10 @@
+namespace Impostor.Api.Events.Player
+{
+ public interface IPlayerSetStartCounterEvent : IPlayerEvent
+ {
+ /// <summary>
+ /// Gets the current time of the start counter.
+ /// </summary>
+ byte SecondsLeft { get; }
+ }
+}
diff --git a/Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerSpawnedEvent.cs b/Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerSpawnedEvent.cs
new file mode 100644
index 0000000..a3be654
--- /dev/null
+++ b/Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerSpawnedEvent.cs
@@ -0,0 +1,6 @@
+namespace Impostor.Api.Events.Player
+{
+ public interface IPlayerSpawnedEvent : IPlayerEvent
+ {
+ }
+}
diff --git a/Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerStartMeetingEvent.cs b/Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerStartMeetingEvent.cs
new file mode 100644
index 0000000..1a28115
--- /dev/null
+++ b/Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerStartMeetingEvent.cs
@@ -0,0 +1,12 @@
+using Impostor.Api.Net.Inner.Objects;
+
+namespace Impostor.Api.Events.Player
+{
+ public interface IPlayerStartMeetingEvent : IPlayerEvent
+ {
+ /// <summary>
+ /// Gets the player who's body got reported. Is null when the meeting started by Emergency call button
+ /// </summary>
+ IInnerPlayerControl? Body { get; }
+ }
+}
diff --git a/Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerVentEvent.cs b/Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerVentEvent.cs
new file mode 100644
index 0000000..81f178b
--- /dev/null
+++ b/Impostor-dev/src/Impostor.Api/Events/Game/Player/IPlayerVentEvent.cs
@@ -0,0 +1,17 @@
+using Impostor.Api.Innersloth;
+
+namespace Impostor.Api.Events.Player
+{
+ public interface IPlayerVentEvent : IPlayerEvent
+ {
+ /// <summary>
+ /// Gets get the id of the used vent.
+ /// </summary>
+ public VentLocation VentId { get; }
+
+ /// <summary>
+ /// Gets a value indicating whether the vent was entered or exited.
+ /// </summary>
+ public bool VentEnter { get; }
+ }
+}