Conveyor sideloading

This commit is contained in:
Rendo 2025-10-14 23:54:09 +05:00
commit 81451bd356
14 changed files with 243 additions and 17 deletions

View file

@ -45,9 +45,22 @@ func add(stack: Stack) -> Stack:
stack_added.emit(stack,0)
return internal_array[0].merge_stack(stack)
func add_from_side(stack : Stack, ang_diff : float) -> Stack:
if abs(ang_diff) >= PI/4:
if internal_array[capacity/2].amount != 0:
return null
stack_added.emit(stack,capacity/2)
return internal_array[capacity/2].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:
return internal_array[capacity/2].amount == 0
return can_add()
## Tries to take first item. Returns null if no items in inventory
func pop() -> Stack:
if internal_array[capacity-1].amount == 0: