Public repository for MUR pre alpha
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

73 lines
2.3 KiB

extends Control
onready var countdown_timer = get_node("countdown_timer")
onready var settings = get_node("menu/settings")
onready var player_list = get_node("menu/players")
func _ready():
game.connect("players_changed", self, "_players_changed")
game.connect("game_ready", self, "_game_ready")
game.connect("game_started", self, "_game_started")
game.connect("server_disconnected", self, "_server_disconnected")
func _physics_process(delta):
if not countdown_timer.is_stopped():
get_node("countdown").text = str(int(countdown_timer.get_time_left()) + 1)
func _players_changed(players):
player_list.clear()
for p_id in players:
var player = players[p_id]
if p_id == get_tree().get_network_unique_id():
player_list.add_item(player.name + " (You)")
else:
player_list.add_item(player.name)
player_list.set_item_custom_bg_color(player_list.get_item_count()-1, player.color)
if player.ready:
player_list.set_item_icon(player_list.get_item_count()-1, player_list.get_node("ready_icon").get_button_icon())
else:
player_list.set_item_icon(player_list.get_item_count()-1, player_list.get_node("not_ready_icon").get_button_icon())
func _game_ready(all_ready):
if all_ready:
get_node("countdown").show()
countdown_timer.start()
else:
countdown_timer.stop()
get_node("countdown").hide()
func _game_started():
hide()
queue_free()
func _on_name_text_changed(new_text):
_on_player_changed()
func _on_color_color_changed(color):
_on_player_changed()
func _on_ready_toggled(button_pressed):
_on_player_changed()
settings.get_node("name").set_editable(not button_pressed)
settings.get_node("color").set_disabled(button_pressed)
func _on_player_changed():
var name = settings.get_node("name").text
var color = settings.get_node("color").color
var ready = get_node("menu/ready").pressed
game.update_player(name,color,ready)
func _on_back_pressed():
game.quit_game()
queue_free()
if get_tree().get_root().has_node("server"):
get_tree().get_root().get_node("server").show()
elif get_tree().get_root().has_node("main_menu"):
get_tree().get_root().get_node("main_menu").show()
func _server_disconnected():
get_node("disconnected_dialog").set_exclusive(true)
get_node("disconnected_dialog").popup_centered()
func _on_disconnected_dialog_popup_hide():
_on_back_pressed()