Secondary Item switching
This commit is contained in:
parent
bf481c5eea
commit
78bcdb0d6f
|
|
@ -32,6 +32,10 @@ func _process(delta):
|
|||
var _selected_item = player_inventory.switch_primary()
|
||||
if _selected_item:
|
||||
print("Switched Primary item to: ", _selected_item.name)
|
||||
elif Input.is_action_just_released("switch_secondary_item_" + str(player_number)):
|
||||
var _selected_item = player_inventory.switch_secondary()
|
||||
if _selected_item:
|
||||
print("Switched Secondary item to: ", _selected_item.name)
|
||||
|
||||
func hit_Receiver(damage):
|
||||
$Hurtbox_Component.set_hurtbox(false)
|
||||
|
|
|
|||
|
|
@ -54,6 +54,35 @@ func switch_primary() -> Item:
|
|||
## Nothing changed
|
||||
return null
|
||||
|
||||
func switch_secondary() -> Item:
|
||||
## Don't switch unless there is another item
|
||||
if secondary_selection != null and _items.size() > 1:
|
||||
var found_item :bool = false
|
||||
var itemarr = _items.keys()
|
||||
for i in itemarr:
|
||||
## Item found in last iteration, grab the next one.
|
||||
if found_item:
|
||||
if i == primary_selection:
|
||||
break
|
||||
secondary_selection = i
|
||||
return i
|
||||
if i == secondary_selection:
|
||||
found_item = true
|
||||
## Item found but was the last in the list, grab the first one.
|
||||
if found_item and itemarr[0] != secondary_selection:
|
||||
if itemarr[0] != primary_selection:
|
||||
secondary_selection = itemarr[0]
|
||||
return itemarr[0]
|
||||
## Swap primary and secondary
|
||||
if primary_selection != null:
|
||||
var i = primary_selection
|
||||
if secondary_selection != null:
|
||||
primary_selection = secondary_selection
|
||||
secondary_selection = i
|
||||
return i
|
||||
## Nothing changed
|
||||
return null
|
||||
|
||||
func select_secondary(_item :Item) -> void:
|
||||
if _items.has(_item):
|
||||
secondary_selection = _item
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user