summaryrefslogtreecommitdiffstats
path: root/src/server/games/registry.rs
diff options
context:
space:
mode:
authorsalmonik <salmonik@tuta.io>2026-10-28 22:44:41 +0100
committersalmonik <salmonik@tuta.io>2026-10-28 22:44:41 +0100
commit63c2e2fc3ea299aee31b66d2bdd6ecd871df223a (patch)
tree9c85ab7a4de17125055257dc055fa3e53dc1e8cf /src/server/games/registry.rs
parentv0.2.6: preserve buffered lines and add request read timeouts (diff)
downloadzagan-bet-63c2e2fc3ea299aee31b66d2bdd6ecd871df223a.tar.gz
zagan-bet-63c2e2fc3ea299aee31b66d2bdd6ecd871df223a.zip
v0.3.0: add server core, bcrypt migration and plays audit
Diffstat (limited to '')
-rw-r--r--src/server/games/registry.rs22
1 files changed, 7 insertions, 15 deletions
diff --git a/src/server/games/registry.rs b/src/server/games/registry.rs
index 3b8c391..b7ed9d3 100644
--- a/src/server/games/registry.rs
+++ b/src/server/games/registry.rs
@@ -1,5 +1,6 @@
1#![allow(dead_code)] 1#![allow(dead_code)]
2 2
3use super::slots::SlotsGame;
3use super::traits::Game; 4use super::traits::Game;
4use std::collections::HashMap; 5use std::collections::HashMap;
5use std::sync::{Arc, Mutex}; 6use std::sync::{Arc, Mutex};
@@ -17,6 +18,12 @@ impl GameRegistry {
17 } 18 }
18 } 19 }
19 20
21 pub fn with_defaults() -> Self {
22 let registry = Self::new();
23 registry.register_game(SlotsGame::new());
24 registry
25 }
26
20 pub fn register_game<G: Game + Send + Sync + 'static>(&self, game: G) { 27 pub fn register_game<G: Game + Send + Sync + 'static>(&self, game: G) {
21 let game_type = game.game_type().to_string(); 28 let game_type = game.game_type().to_string();
22 let mut games = self.games.lock().unwrap(); 29 let mut games = self.games.lock().unwrap();
@@ -38,18 +45,3 @@ impl GameRegistry {
38 games.contains_key(game_type) 45 games.contains_key(game_type)
39 } 46 }
40} 47}
41
42// Global registry instance
43use super::slots::SlotsGame;
44use once_cell::sync::Lazy;
45
46static GAME_REGISTRY: Lazy<GameRegistry> = Lazy::new(|| {
47 let registry = GameRegistry::new();
48 // Register games here
49 registry.register_game(SlotsGame::new());
50 registry
51});
52
53pub fn get_game_registry() -> &'static GameRegistry {
54 &GAME_REGISTRY
55}