Conveyor face to face
This commit is contained in:
parent
81451bd356
commit
6a7d3d0e45
1 changed files with 9 additions and 2 deletions
|
@ -46,19 +46,26 @@ func add(stack: Stack) -> Stack:
|
||||||
return internal_array[0].merge_stack(stack)
|
return internal_array[0].merge_stack(stack)
|
||||||
|
|
||||||
func add_from_side(stack : Stack, ang_diff : float) -> 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:
|
if internal_array[capacity/2].amount != 0:
|
||||||
return null
|
return null
|
||||||
stack_added.emit(stack,capacity/2)
|
stack_added.emit(stack,capacity/2)
|
||||||
return internal_array[capacity/2].merge_stack(stack)
|
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)
|
return add(stack)
|
||||||
|
|
||||||
func can_add() -> bool:
|
func can_add() -> bool:
|
||||||
return internal_array[0].amount == 0
|
return internal_array[0].amount == 0
|
||||||
|
|
||||||
func can_add_from_side(ang_diff : float) -> bool:
|
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
|
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()
|
||||||
|
|
||||||
## Tries to take first item. Returns null if no items in inventory
|
## Tries to take first item. Returns null if no items in inventory
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue