A Minecraft style clone in Godot
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

44 lines
1.0 KiB

class_name QuickSlots
extends Node
#region Singleton
static var ref: QuickSlots
func _init() -> void:
if not ref:
ref = self
else:
queue_free()
#endregion
var _items: Array[String] = ["001", "002", "003", "004"]
var _selected_item: int = 0
func _unhandled_input(event: InputEvent) -> void:
if event.is_action_pressed("quickslot0"):
_selected_item = 0
if event.is_action_pressed("quickslot1"):
_selected_item = 1
if event.is_action_pressed("quickslot2"):
_selected_item = 2
if event.is_action_pressed("quickslot3"):
_selected_item = 3
if event.is_action_pressed("quickslot_next"):
select_next_item()
if event.is_action_pressed("quickslot_previous"):
select_previous_item()
func get_quickslot_index() -> int:
return _selected_item
func get_selected_item() -> String:
return _items[_selected_item]
func select_previous_item() -> void:
_selected_item = clampi(_selected_item - 1, 0, _items.size() - 1)
func select_next_item() -> void:
_selected_item = clampi(_selected_item + 1, 0, _items.size() - 1)