Hub.gd 943 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. class_name Hub
  2. extends Node2D
  3. # User interface to create liners
  4. signal hub_finished
  5. export (Array, Color) var playerColors = [
  6. Color.red,
  7. Color.blue,
  8. Color.green,
  9. Color.yellow,
  10. Color.white,
  11. Color.cyan,
  12. Color.magenta,
  13. Color.orange,
  14. ]
  15. var _playerScene = preload("res://Player.tscn")
  16. var _playerActionsLeft = ["p1_left", "p2_left", "p3_left"]
  17. var _playerActionsRight = ["p1_right", "p2_right", "p3_right"]
  18. var _hub_enabled = true
  19. func _unhandled_input(event):
  20. if event.is_action("ui_accept") and event.is_pressed() and _hub_enabled:
  21. get_tree().set_input_as_handled()
  22. # Create players
  23. var player
  24. for k in 2:
  25. player = _playerScene.instance()
  26. player.turn_left_action = _playerActionsLeft[k]
  27. player.turn_right_action = _playerActionsRight[k]
  28. player.position = Vector2()
  29. player.modulate = playerColors[k]
  30. add_child(player)
  31. # TODO : make hub interactive
  32. _hub_enabled = false
  33. emit_signal("hub_finished")