Broken pos

This commit is contained in:
Rendo 2025-10-15 11:55:18 +05:00
commit 3af13d0a8b
24 changed files with 304 additions and 146 deletions

View file

@ -34,7 +34,7 @@ func deferred_init():
## Finds first entry of item. Returns -1 if no item found
func find(item : Item) -> int:
for i in range(capacity):
if internal_array[i].held_item == item:
if internal_array[i].can_be_merged(item):
return i
return -1
@ -58,15 +58,15 @@ func add_from_side(stack : Stack, ang_diff : float) -> Stack:
return internal_array[capacity-1].merge_stack(stack)
return add(stack)
func can_add() -> bool:
func can_add(_item : Item = null) -> bool:
return internal_array[0].amount == 0
func can_add_from_side(ang_diff : float) -> bool:
func can_add_from_side(ang_diff : float, item : Item = null) -> bool:
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()
return can_add(item)
## Tries to take first item. Returns null if no items in inventory
func pop() -> Stack:
@ -77,6 +77,13 @@ func pop() -> Stack:
stack_taken.emit(internal_array[capacity-1], capacity-1)
return internal_array[capacity-1].extract()
func peek() -> Stack:
if internal_array[capacity-1].amount == 0:
return null
if progress_array[capacity-1] < pop_treshold:
return null
return internal_array[capacity-1].as_stack()
func advance(delta : float) -> void:
var progress_flag : bool = false
for i in range(capacity):