extends HFlowContainer var button_prefix="btn_map_" var disabled_mod_color=Color(0.3,0.3,0.3,1.0) signal map_changed # Called when the node enters the scene tree for the first time. func _ready() -> void: for btn in get_children(): btn.pressed.connect(_on_btn_map.bind(btn)) if len(Gamestate.getSelectedMap())<=0: #no map selected (ie on startup) get_children()[0].emit_signal("pressed") #preselect first map in list else: for c in get_children(): if c.name==button_prefix+Gamestate.getSelectedMap(): c.emit_signal("pressed") break func _on_btn_map(btn): map_changed.emit() for b in get_children(): b.self_modulate=disabled_mod_color #show all others disabled btn.self_modulate=Color(1,1,1,1) #show selected enabled var btn_name=btn.name var mapname=btn_name.erase(0,len(button_prefix)) print("Selected Map="+str(mapname)) Gamestate.setSelectedMap(mapname)