summaryrefslogtreecommitdiff
path: root/webhogg/game_server/src/group.rs
diff options
context:
space:
mode:
Diffstat (limited to 'webhogg/game_server/src/group.rs')
-rw-r--r--webhogg/game_server/src/group.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/webhogg/game_server/src/group.rs b/webhogg/game_server/src/group.rs
new file mode 100644
index 0000000..74a04f7
--- /dev/null
+++ b/webhogg/game_server/src/group.rs
@@ -0,0 +1,13 @@
+use crate::server::{UserId, GameClient, GameServerError};
+
+pub type GroupId = u32;
+
+pub trait Group {
+ fn id(&self) -> GroupId;
+ fn group_type(&self) -> String;
+ fn name(&self) -> String;
+
+ fn run(&mut self);
+
+ fn add_client(&mut self, id: UserId, client: GameClient) -> Result<(), GameServerError>;
+}