diff options
Diffstat (limited to 'server/src/entity/customers')
-rw-r--r-- | server/src/entity/customers/mod.rs | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/server/src/entity/customers/mod.rs b/server/src/entity/customers/mod.rs index 0bb3f918..97b94942 100644 --- a/server/src/entity/customers/mod.rs +++ b/server/src/entity/customers/mod.rs @@ -102,7 +102,9 @@ impl EntityT for Customers { match state { CustomerState::Entering { path, chair } => { - playerdata.direction = path.next_direction(playerdata.position()); + playerdata + .movement + .input(path.next_direction(playerdata.position()), false); if path.is_done() { let demand = DemandIndex(random::<usize>() % self.demands.len()); self.cpackets.push_back(PacketS::Communicate { @@ -123,7 +125,9 @@ impl EntityT for Customers { demand, timeout, } => { - playerdata.direction = (chair.as_vec2() + 0.5) - playerdata.position(); + playerdata + .movement + .input((chair.as_vec2() + 0.5) - playerdata.position(), false); *timeout -= dt; if *timeout <= 0. { self.cpackets.push_back(PacketS::Communicate { @@ -203,7 +207,9 @@ impl EntityT for Customers { progress, chair, } => { - playerdata.direction = (chair.as_vec2() + 0.5) - playerdata.position(); + playerdata + .movement + .input((chair.as_vec2() + 0.5) - playerdata.position(), false); let demand = &self.demands[demand.0]; *progress += dt / demand.duration; if *progress >= 1. { @@ -234,7 +240,9 @@ impl EntityT for Customers { } } CustomerState::Exiting { path } => { - playerdata.direction = path.next_direction(playerdata.position()); + playerdata + .movement + .input(path.next_direction(playerdata.position()), false); if path.is_done() { info!("{player:?} -> leave"); self.cpackets.push_back(PacketS::Leave { player }); |