From 0c363e83fd91d9b833818571a75a6fa5932cfcde Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Mon, 28 Feb 2022 22:28:42 -0600 Subject: [PATCH] pushing changes before bed --- src/entity/components/furniture.onyx | 6 ++++++ src/entity/components/patron.onyx | 4 ++-- src/entity/components/player.onyx | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/entity/components/furniture.onyx b/src/entity/components/furniture.onyx index 1fb10a5..07611d8 100644 --- a/src/entity/components/furniture.onyx +++ b/src/entity/components/furniture.onyx @@ -18,4 +18,10 @@ FurnitureComponent :: struct { sprite.size = .{32, 32}; sprite.color = .{1, 1, 1}; } + + try_take :: (use this: ^FurnitureComponent) -> bool { + if taken do return false; + taken = true; + return true; + } } \ No newline at end of file diff --git a/src/entity/components/patron.onyx b/src/entity/components/patron.onyx index b33004d..41e2f6e 100644 --- a/src/entity/components/patron.onyx +++ b/src/entity/components/patron.onyx @@ -39,8 +39,8 @@ PatronComponent :: struct { for seats { furniture := it->get(FurnitureComponent); - if !furniture.taken && furniture.furniture_type == .Seat { - furniture.taken = true; + if furniture.furniture_type != .Seat do continue; + if furniture->try_take() { seat = it.id; break; } diff --git a/src/entity/components/player.onyx b/src/entity/components/player.onyx index d3292a1..e552b9f 100644 --- a/src/entity/components/player.onyx +++ b/src/entity/components/player.onyx @@ -84,7 +84,7 @@ PlayerComponent :: struct { holding_object := scene->get(player.holding); r := Entity.get_rect(holding_object); target_pos := pos - .{0, (size.y + r.h) / 2}; - holding_object.pos += (target_pos - holding_object.pos) * 0.25; + holding_object.pos += (target_pos - holding_object.pos) * 0.4; } } -- 2.25.1