diff options
author | metamuffin <metamuffin@disroot.org> | 2024-10-14 00:24:15 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-10-14 00:24:15 +0200 |
commit | 3951a63d9393ed7e1381bbb9da95dfb2dd2d6b13 (patch) | |
tree | cd586f961075c8d5f8d2ac583dfbc257d82efca5 /server/src/entity | |
parent | 3b0bb4132eb8d3a0fd3438f4f344e8687a5dd71e (diff) | |
download | hurrycurry-3951a63d9393ed7e1381bbb9da95dfb2dd2d6b13.tar hurrycurry-3951a63d9393ed7e1381bbb9da95dfb2dd2d6b13.tar.bz2 hurrycurry-3951a63d9393ed7e1381bbb9da95dfb2dd2d6b13.tar.zst |
book intermediate representation and packets for sending to client
Diffstat (limited to 'server/src/entity')
-rw-r--r-- | server/src/entity/book.rs | 2 | ||||
-rw-r--r-- | server/src/entity/customers.rs | 1 | ||||
-rw-r--r-- | server/src/entity/mod.rs | 7 |
3 files changed, 8 insertions, 2 deletions
diff --git a/server/src/entity/book.rs b/server/src/entity/book.rs index 70197764..8b152bb9 100644 --- a/server/src/entity/book.rs +++ b/server/src/entity/book.rs @@ -32,7 +32,7 @@ impl Entity for Book { ) -> Result<bool, TrError> { if pos == Some(self.0) { if let Some(r) = c.replies { - r.push(PacketC::Menu(Menu::Book)); + r.push(PacketC::Menu(Menu::Document(c.serverdata.book.clone()))); } return Ok(true); } diff --git a/server/src/entity/customers.rs b/server/src/entity/customers.rs index 1e8b6b13..0c3ced8d 100644 --- a/server/src/entity/customers.rs +++ b/server/src/entity/customers.rs @@ -65,6 +65,7 @@ impl Entity for Customers { for bot in &mut self.customers { bot.tick(EntityContext { game: c.game, + serverdata: c.serverdata, packet_out: c.packet_out, packet_in: c.packet_in, score_changed: c.score_changed, diff --git a/server/src/entity/mod.rs b/server/src/entity/mod.rs index 87656f0d..044fccab 100644 --- a/server/src/entity/mod.rs +++ b/server/src/entity/mod.rs @@ -25,7 +25,11 @@ pub mod item_portal; pub mod player_portal; pub mod tutorial; -use crate::{data::ItemTileRegistry, message::TrError, scoreboard::ScoreboardStore}; +use crate::{ + data::{ItemTileRegistry, Serverdata}, + message::TrError, + scoreboard::ScoreboardStore, +}; use anyhow::{anyhow, Result}; use book::Book; use campaign::{Gate, GateCondition, Map}; @@ -47,6 +51,7 @@ pub type Entities = Vec<DynEntity>; pub struct EntityContext<'a> { pub game: &'a mut Game, + pub serverdata: &'a Serverdata, pub packet_out: &'a mut VecDeque<PacketC>, pub packet_in: &'a mut VecDeque<PacketS>, pub score_changed: &'a mut bool, |