From 6a7d3d0e453a273f64865d906195838b7debc789 Mon Sep 17 00:00:00 2001 From: Rendo Date: Tue, 14 Oct 2025 23:59:55 +0500 Subject: [PATCH] Conveyor face to face --- scripts/inventory/conveyor_inventory.gd | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/scripts/inventory/conveyor_inventory.gd b/scripts/inventory/conveyor_inventory.gd index dcb21d2..0b2a71b 100644 --- a/scripts/inventory/conveyor_inventory.gd +++ b/scripts/inventory/conveyor_inventory.gd @@ -46,19 +46,26 @@ func add(stack: Stack) -> Stack: return internal_array[0].merge_stack(stack) func add_from_side(stack : Stack, ang_diff : float) -> Stack: - if abs(ang_diff) >= PI/4: + if is_equal_approx(abs(ang_diff),PI/2): if internal_array[capacity/2].amount != 0: return null stack_added.emit(stack,capacity/2) return internal_array[capacity/2].merge_stack(stack) + elif is_equal_approx(abs(ang_diff), PI): + if internal_array[capacity-1].amount != 0: + return null + stack_added.emit(stack,capacity-1) + return internal_array[capacity-1].merge_stack(stack) return add(stack) func can_add() -> bool: return internal_array[0].amount == 0 func can_add_from_side(ang_diff : float) -> bool: - if abs(ang_diff) >= PI/4: + if is_equal_approx(abs(ang_diff),PI/2): return internal_array[capacity/2].amount == 0 + elif is_equal_approx(abs(ang_diff),PI): + return internal_array[capacity-1].amount == 0 return can_add() ## Tries to take first item. Returns null if no items in inventory