aboutsummaryrefslogtreecommitdiff
path: root/server/src/entity/customers/mod.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2024-08-11 01:30:59 +0200
committermetamuffin <metamuffin@disroot.org>2024-08-11 01:35:05 +0200
commit218da36b4f963a5dfcd619d543cb95c5c196d214 (patch)
tree244ecd10f4ca3d9798cedf7149394a1d4827b5d9 /server/src/entity/customers/mod.rs
parentf753629acd906ff7acd42a18a266cc93a883330c (diff)
downloadhurrycurry-218da36b4f963a5dfcd619d543cb95c5c196d214.tar
hurrycurry-218da36b4f963a5dfcd619d543cb95c5c196d214.tar.bz2
hurrycurry-218da36b4f963a5dfcd619d543cb95c5c196d214.tar.zst
update movement in protocol and all clients
Diffstat (limited to 'server/src/entity/customers/mod.rs')
-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 });