chest.gd 716 B

12345678910111213141516171819202122232425
  1. extends Area2D
  2. @onready var player = get_tree().get_first_node_in_group("Player")
  3. @onready var coins_storage = get_tree().get_first_node_in_group("CoinsStorage")
  4. @onready var animation = $AnimationPlayer
  5. func _unhandled_key_input(event: InputEvent) -> void:
  6. if event.keycode == KEY_E:
  7. if overlaps_body(player):
  8. grab_coins()
  9. if coins_storage.get_child_count() == 0:
  10. EventBus.level_completed.emit()
  11. func grab_coins() -> void:
  12. player.set_coin_count(0)
  13. func show_interaction_prompt(_body: Node2D) -> void:
  14. EventBus.show_interaction_prompt.emit()
  15. animation.play("Open")
  16. func hide_interaction_prompt(_body: Node2D) -> void:
  17. EventBus.hide_interaction_prompt.emit()
  18. animation.play_backwards("Open")