aboutsummaryrefslogtreecommitdiff
path: root/server/src/entity
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/entity')
-rw-r--r--server/src/entity/customers/mod.rs14
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)