diff --git a/assets/pf2r/maps/testmap.jpg b/assets/pf2r/maps/testmap.jpg new file mode 100644 index 0000000..420008c Binary files /dev/null and b/assets/pf2r/maps/testmap.jpg differ diff --git a/src/api/mod.rs b/src/api/mod.rs index e0e6a97..6874f8f 100644 --- a/src/api/mod.rs +++ b/src/api/mod.rs @@ -75,7 +75,7 @@ pub enum Response { Login(login::LoginResult), Message(ChatMessage), GetChatHistory(Vec), - ShowScene { scene: usize, tokens: Vec }, + ShowScene { scene: usize, tokens: Vec, background: Option }, MoveToken { token_id: usize, x: f32, y: f32 }, SpawnToken(SpawnToken), CharacterCreated(usize), diff --git a/src/game/mod.rs b/src/game/mod.rs index 1cf4e50..ff6f6d4 100644 --- a/src/game/mod.rs +++ b/src/game/mod.rs @@ -30,7 +30,7 @@ pub trait GameImpl<'a, C: Character + Serialize + Deserialize<'a>, A: entry:: fn scene_map(&self, scene_id: usize) -> Option; fn create_token(&mut self, scene_id: usize, character: String, img_source: String, x: f32, y: f32) -> usize; fn move_token(&mut self, scene_id: usize, token_id: usize, x: f32, y: f32) -> bool; - fn token_info(&self, map_id: usize, token_id: usize) -> Option<&TokenInfo>; + fn token_info(&self, scene: usize, token_id: usize) -> Option<&TokenInfo>; fn available_tokens(&self, scene: usize) -> Vec; } @@ -69,7 +69,7 @@ impl<'a, C: Character + Serialize + Deserialize<'a>, A: entry::GameEntry + Se 0, Scene { map: Some(scene::Map { - background: String::new(), + background: "assets/pf2r/maps/testmap.jpg".to_string(), tokens, }), characters: vec![(0, Party(true))], diff --git a/src/lib.rs b/src/lib.rs index 42709c3..7bd4ed5 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -162,10 +162,10 @@ impl GameServer { .game .available_tokens(scene) .iter() - .map(|id| self.game.token_info(0, *id).map(|info| (id, info))) + .map(|&id| self.game.token_info(scene, id).map(|info| (id, info))) .flatten() .map(|(id, info)| SpawnToken { - token_id: *id, + token_id: id, x: info.x, y: info.y, img: info.img_source.clone(), @@ -176,6 +176,7 @@ impl GameServer { api::Response::ShowScene { scene: scene, tokens: scene_tokens, + background: self.game.scene_map(scene), }, )); }