aboutsummaryrefslogtreecommitdiffstats
path: root/backend/src/model/actions
diff options
context:
space:
mode:
Diffstat (limited to 'backend/src/model/actions')
-rw-r--r--backend/src/model/actions/coop.ts43
1 files changed, 43 insertions, 0 deletions
diff --git a/backend/src/model/actions/coop.ts b/backend/src/model/actions/coop.ts
new file mode 100644
index 0000000..e1dfed5
--- /dev/null
+++ b/backend/src/model/actions/coop.ts
@@ -0,0 +1,43 @@
+import { SessionState } from "../session";
+
+export type CoopSessionCreatedMessage = {
+ type: "create";
+ payload: {
+ sessionId: string;
+ };
+};
+
+export type ClientJoinedCoopSessionMessage = {
+ type: "join";
+ payload: {
+ numberOfClients: number;
+ };
+};
+
+export type CoopSessionStateChangeMessage = {
+ type: "state";
+ payload: {
+ state: SessionState;
+ };
+};
+
+export type CoopSessionMoveMessage = {
+ type: "move";
+ payload: {
+ move: string;
+ };
+};
+
+export type CoopSessionMoveTimeoutMessage = {
+ type: "timeout";
+ payload: {
+ timeoutUntil: number;
+ };
+};
+
+export type CoopSessionMessage =
+ | CoopSessionCreatedMessage
+ | ClientJoinedCoopSessionMessage
+ | CoopSessionStateChangeMessage
+ | CoopSessionMoveMessage
+ | CoopSessionMoveTimeoutMessage; \ No newline at end of file