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.rs16
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 });