extends Node2D class_name Main func _ready(): connect_player_properties_update() connect_level_update() connect_button() init_bgm() func connect_player_properties_update(): var player = get_level_manager().get_current_level_instance().get_player() player.connect("hp_changed",self,"on_hp_changed") player.connect("atk_changed",self,"on_atk_changed") player.connect("def_changed",self,"on_def_changed") player.connect("money_changed",self,"on_money_changed") player.connect("yellow_key_changed",self,"on_yellow_key_changed") player.connect("blue_key_changed",self,"on_blue_key_changed") player.connect("red_key_changed",self,"on_red_key_changed") player.connect("prop_added",self,"on_prop_added") func connect_button(): $"/root/Main/HUD/BottomBackground/VBoxContainer/SaveButton".connect("pressed",self,"on_save_button_clicked") $"/root/Main/HUD/BottomBackground/VBoxContainer/LoadButton".connect("pressed",self,"on_load_button_clicked") $"/root/Main/HUD/BottomBackground/VBoxContainer/BookButton".connect("pressed",self,"on_book_button_clicked") $"/root/Main/HUD/BottomBackground/VBoxContainer/FlyButton".connect("pressed",self,"on_fly_button_clicked") get_hud().get_close_book_button_view().connect("pressed",self,"on_close_book_clicked") func connect_level_update(): get_level_manager().connect("level_changed",self,"on_level_changed") func init_bgm(): var audio_player = $BgmSound as AudioStreamPlayer2D audio_player.playing = true func on_hp_changed(hp): get_hud().get_hp_view().text = hp as String func on_atk_changed(atk): get_hud().get_atk_view().text = atk as String func on_def_changed(def): get_hud().get_def_view().text = def as String func on_money_changed(money): get_hud().get_money_view().text = money as String func on_yellow_key_changed(yellow_key): get_hud().get_yellow_key_view().text = "%0*d" % [2,yellow_key] func on_blue_key_changed(blue_key): get_hud().get_blue_key_view().text = "%0*d" % [2,blue_key] func on_red_key_changed(red_key): get_hud().get_red_key_view().text = "%0*d" % [2,red_key] func on_level_changed(level): connect_player_properties_update() get_hud().get_level_view().text = "%s层" % level func on_prop_added(name): match name: "book": get_hud().get_book_button_view().visible = true "flying_staff": get_hud().get_fly_button_view().visible = true func on_save_button_clicked(): get_level_manager().save_persistent(0) func on_load_button_clicked(): get_level_manager().load_persistent(0) func on_book_button_clicked(): MonsterBook.show() func on_close_book_clicked(): get_hud().get_book_dialog_view().visible = false func on_fly_button_clicked(): get_hud().get_fly_dialog_view().show() func get_hud() -> Hud: return $HUD as Hud func get_level_manager() -> LevelsManager: return $Level as LevelsManager