slot.gd 727 B

1234567891011121314151617181920212223242526272829
  1. extends Area2D
  2. class_name Slot
  3. signal clicked(slot: Slot)
  4. var i = 0
  5. var plant = null
  6. func _ready():
  7. set_pickable(true)
  8. connect("input_event", _on_input_event)
  9. connect("mouse_entered", _on_mouse_entered)
  10. connect("mouse_exited", _on_mouse_exited)
  11. func _on_input_event(viewport: Node, event: InputEvent, shape_idx: int):
  12. if event.is_action_released("lmb"):
  13. i += 1
  14. if i == 2:
  15. emit_signal("clicked", self)
  16. i = 0
  17. func _on_mouse_entered():
  18. $Slot.set_modulate(Color(1.0, 1.0, 1.0, 1.0))
  19. func _on_mouse_exited():
  20. $Slot.set_modulate(Color(1.0, 1.0, 1.0, 0.5))
  21. func set_plant(plant_: Node):
  22. plant = plant_
  23. plant.set_position(get_global_position())