diff options
Diffstat (limited to 'server/src/entity/customers')
| -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)  |