RingOfRaces/MiscScenes/VBoxContainer.gd

37 lines
1.2 KiB
GDScript3
Raw Normal View History

2021-04-08 19:43:34 +00:00
extends VBoxContainer
# Many thanks to Arkeve! https://github.com/arkeve
const SlotClass = preload("res://MiscCodes/Slot.gd")
2023-03-25 20:42:54 +00:00
@onready var inventory_slots = $GridContainer
2021-04-08 19:43:34 +00:00
var holding_item = null
func _ready():
for inv_slot in inventory_slots.get_children():
2023-03-25 20:42:54 +00:00
inv_slot.connect("gui_input",Callable(self,"slot_gui_input").bind(inv_slot))
2021-04-08 19:43:34 +00:00
func slot_gui_input(event: InputEvent, slot: SlotClass):
if event is InputEventMouseButton:
2023-03-25 20:42:54 +00:00
if event.button_index == MOUSE_BUTTON_LEFT && event.pressed:
2021-04-08 19:43:34 +00:00
if holding_item != null:
if !slot.item: # Place holding item to slot
slot.putIntoSlot(holding_item)
holding_item = null
else: # Swap holding item with item in slot
var temp_item = slot.item
slot.pickFromSlot()
temp_item.global_position = event.global_position
slot.putIntoSlot(holding_item)
holding_item = temp_item
elif slot.item:
holding_item = slot.item
slot.pickFromSlot()
holding_item.global_position = get_global_mouse_position()
func _input(event):
if holding_item:
holding_item.global_position = get_global_mouse_position()
func _on_TouchScreenButton_pressed():
Global.GoToScene("river_intersection_home_2")