12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- extends Node2D
- @onready var slots = $"../SlotArrays"
- var selected_item: Node = null
- func _input(event: InputEvent):
- if event.is_action_pressed("rmb"):
- if selected_item != null:
- remove_child(selected_item)
- selected_item = null
- slots.hide()
- func _ready():
- for slot_array in slots.get_children():
- for slot in slot_array.get_children():
- slot.connect("clicked", _on_slot_clicked)
- slots.hide()
-
- # Starting carrots
- selected_item = preload("res://scene/entity/carrot.tscn").instantiate()
- $"../Economy".add(30)
- _on_slot_clicked(slots.get_child(0).get_child(2))
- _on_slot_clicked(slots.get_child(0).get_child(3))
- _on_slot_clicked(slots.get_child(0).get_child(4))
- selected_item = null
- func _process(delta):
- if selected_item != null:
- selected_item.set_position(get_global_mouse_position())
-
- func _on_slot_clicked(slot: Slot):
- if selected_item != null:
- if slot.plant == null:
- if $"../Economy".add(-selected_item.cost):
- var dup = selected_item.duplicate()
- slot.set_plant(dup)
- dup.set_process(true)
- dup.dead = false
- $"../Plants".add_child(dup)
- if dup is Mandrake:
- $Coin.play()
- func set_item(item: Node):
- if selected_item != null and selected_item.get_class() == item.get_class():
- remove_child(selected_item)
- selected_item = null
- slots.hide()
- else:
- if selected_item != null:
- remove_child(selected_item)
- selected_item = item
- slots.show()
- add_child(selected_item)
- selected_item.set_process(false)
- selected_item.dead = true
|