diff options
author | metamuffin <metamuffin@disroot.org> | 2024-08-10 22:55:26 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-08-10 22:55:26 +0200 |
commit | a02c1d31f4d2de92388dcc8c07a602e62f5ddbbe (patch) | |
tree | 1caad1fd9ef1c649a304fcae24b8a1abf5a3e5c8 /server/src/entity/customers/mod.rs | |
parent | 7cb51c8b95e414cbc3a4c9bec5d23b3d1beeb97d (diff) | |
download | hurrycurry-a02c1d31f4d2de92388dcc8c07a602e62f5ddbbe.tar hurrycurry-a02c1d31f4d2de92388dcc8c07a602e62f5ddbbe.tar.bz2 hurrycurry-a02c1d31f4d2de92388dcc8c07a602e62f5ddbbe.tar.zst |
fix customers for new proto
Diffstat (limited to 'server/src/entity/customers/mod.rs')
-rw-r--r-- | server/src/entity/customers/mod.rs | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/server/src/entity/customers/mod.rs b/server/src/entity/customers/mod.rs index e6067110..0bb3f918 100644 --- a/server/src/entity/customers/mod.rs +++ b/server/src/entity/customers/mod.rs @@ -33,7 +33,6 @@ pub struct Customers { demands: Vec<Demand>, cpackets: VecDeque<PacketS>, chairs: HashMap<IVec2, bool>, - customer_id_counter: PlayerID, customers: HashMap<PlayerID, CustomerState>, spawn_cooldown: f32, } @@ -67,7 +66,6 @@ impl Customers { } Ok(Self { chairs, - customer_id_counter: PlayerID(0), customers: Default::default(), demands, spawn_cooldown: 0., @@ -82,12 +80,12 @@ impl EntityT for Customers { self.spawn_cooldown = self.spawn_cooldown.max(0.); if self.customers.len() < 5 && self.spawn_cooldown <= 0. { self.spawn_cooldown = 10. + random::<f32>() * 10.; - self.customer_id_counter.0 -= 1; - let id = self.customer_id_counter; - self.cpackets.push_back(PacketS::Join { - name: faker::name::fr_fr::Name().fake(), - character: -1 - (random::<u16>() as i32), - }); + let id = game.join_player( + faker::name::fr_fr::Name().fake(), + -1 - (random::<u16>() as i32), + packet_out, + ); + let chair = self.select_chair().ok_or(anyhow!("no free chair found"))?; let from = game.data.customer_spawn.as_ivec2(); let path = find_path(&game.walkable, from, chair) |