pause.gd 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. extends CanvasLayer
  2. var previous_mouse_mode
  3. func _ready():
  4. get_tree().paused = false
  5. func _input(event):
  6. if event.is_action_pressed("pause"):
  7. await get_tree().create_timer(0.001).timeout # necesarry timeout
  8. hide()
  9. get_tree().paused = false
  10. if not GameManager.is_running_on_mobile(): Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
  11. if get_tree().current_scene.has_node("Player") and GameManager.is_running_on_mobile():
  12. get_tree().current_scene.get_node("Player/Neck/Camera3D/mobile controls").visible = true
  13. func _on_resume_pressed():
  14. if not GameManager.is_running_on_mobile(): Input.mouse_mode = previous_mouse_mode
  15. get_tree().paused = false
  16. hide()
  17. if get_tree().current_scene.has_node("Player") and GameManager.is_running_on_mobile():
  18. get_tree().current_scene.get_node("Player/Neck/Camera3D/mobile controls").visible = true
  19. func pause():
  20. #move_to_front()
  21. previous_mouse_mode = Input.mouse_mode
  22. if not GameManager.is_running_on_mobile(): Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
  23. get_tree().paused = true
  24. #visible = true
  25. show()
  26. if get_tree().current_scene.has_node("Player"):
  27. get_tree().current_scene.get_node("Player/Neck/Camera3D/mobile controls").visible = false
  28. func _on_exit_pressed():
  29. get_tree().quit()
  30. func _on_exit_to_menu_pressed():
  31. GameManager.goto_scene("res://Scenes/main_menu.tscn", false)
  32. func _on_reset_pressed():
  33. if not GameManager.is_running_on_mobile(): Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
  34. visible = false
  35. get_tree().reload_current_scene()