From ea5e7d336719571e51ef14478ab603e71126e3d8 Mon Sep 17 00:00:00 2001 From: salmonik Date: Wed, 28 Oct 2026 22:28:05 +0100 Subject: v0.2.2: split client/server logic into the library --- src/bin/server/games/registry.rs | 55 ---------------------------------------- 1 file changed, 55 deletions(-) delete mode 100644 src/bin/server/games/registry.rs (limited to 'src/bin/server/games/registry.rs') diff --git a/src/bin/server/games/registry.rs b/src/bin/server/games/registry.rs deleted file mode 100644 index e77a138..0000000 --- a/src/bin/server/games/registry.rs +++ /dev/null @@ -1,55 +0,0 @@ -#![allow(dead_code)] - -use crate::games::traits::Game; -use std::collections::HashMap; -use std::sync::{Arc, Mutex}; - -pub type GameRef = Arc; - -pub struct GameRegistry { - games: Arc>>, -} - -impl GameRegistry { - pub fn new() -> Self { - Self { - games: Arc::new(Mutex::new(HashMap::new())), - } - } - - pub fn register_game(&self, game: G) { - let game_type = game.game_type().to_string(); - let mut games = self.games.lock().unwrap(); - games.insert(game_type, Arc::new(game)); - } - - pub fn get_game(&self, game_type: &str) -> Option { - let games = self.games.lock().unwrap(); - games.get(game_type).cloned() - } - - pub fn list_games(&self) -> Vec { - let games = self.games.lock().unwrap(); - games.keys().cloned().collect() - } - - pub fn game_exists(&self, game_type: &str) -> bool { - let games = self.games.lock().unwrap(); - games.contains_key(game_type) - } -} - -// Global registry instance -use crate::games::slots::SlotsGame; -use once_cell::sync::Lazy; - -static GAME_REGISTRY: Lazy = Lazy::new(|| { - let registry = GameRegistry::new(); - // Register games here - registry.register_game(SlotsGame::new()); - registry -}); - -pub fn get_game_registry() -> &'static GameRegistry { - &GAME_REGISTRY -} -- cgit v1.2.3