Make hud exit button work on replay
This commit is contained in:
parent
f5f375db1e
commit
ba1b1bf6f1
@ -2,7 +2,9 @@
|
|||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://d3377ecff6nyn" path="res://scenes/replay_finished.tscn" id="1_q5ujf"]
|
[ext_resource type="PackedScene" uid="uid://d3377ecff6nyn" path="res://scenes/replay_finished.tscn" id="1_q5ujf"]
|
||||||
[ext_resource type="PackedScene" uid="uid://c1gs6cqek1qlq" path="res://scenes/ui/hud.tscn" id="2_a451s"]
|
[ext_resource type="PackedScene" uid="uid://c1gs6cqek1qlq" path="res://scenes/ui/hud.tscn" id="2_a451s"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://lahirbqfppvw" path="res://scenes/main.tscn" id="2_r7g00"]
|
||||||
|
|
||||||
[node name="standalone_replay_global" type="StandaloneReplayManager" unique_id=730657724]
|
[node name="standalone_replay_global" type="StandaloneReplayManager" unique_id=730657724]
|
||||||
replay_finished_screen = ExtResource("1_q5ujf")
|
replay_finished_screen = ExtResource("1_q5ujf")
|
||||||
|
main_menu = ExtResource("2_r7g00")
|
||||||
hud_scene = ExtResource("2_a451s")
|
hud_scene = ExtResource("2_a451s")
|
||||||
|
|||||||
@ -30,6 +30,8 @@ pub struct StandaloneReplayManager {
|
|||||||
#[export]
|
#[export]
|
||||||
replay_finished_screen: Option<Gd<PackedScene>>,
|
replay_finished_screen: Option<Gd<PackedScene>>,
|
||||||
#[export]
|
#[export]
|
||||||
|
main_menu: Option<Gd<PackedScene>>,
|
||||||
|
#[export]
|
||||||
hud_scene: Option<Gd<PackedScene>>,
|
hud_scene: Option<Gd<PackedScene>>,
|
||||||
|
|
||||||
loading_replay: bool,
|
loading_replay: bool,
|
||||||
@ -92,6 +94,16 @@ impl StandaloneReplayManager {
|
|||||||
|
|
||||||
if let Some(scene) = &self.hud_scene {
|
if let Some(scene) = &self.hud_scene {
|
||||||
let hud = scene.instantiate_as::<Hud>();
|
let hud = scene.instantiate_as::<Hud>();
|
||||||
|
|
||||||
|
hud.signals().on_exit_to_lobby().connect_other(self, |s| {
|
||||||
|
s.on_done();
|
||||||
|
});
|
||||||
|
|
||||||
|
hud.signals().on_exit().connect_other(self, |s| {
|
||||||
|
s.clear();
|
||||||
|
s.go_to_menu();
|
||||||
|
});
|
||||||
|
|
||||||
self.hud = Some(hud.clone());
|
self.hud = Some(hud.clone());
|
||||||
playback.add_child(&hud);
|
playback.add_child(&hud);
|
||||||
}
|
}
|
||||||
@ -115,6 +127,12 @@ impl StandaloneReplayManager {
|
|||||||
playback.queue_free();
|
playback.queue_free();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn go_to_menu(&mut self) {
|
||||||
|
if let Some(scene) = &self.main_menu {
|
||||||
|
self.base().get_tree().change_scene_to_packed(scene);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(GodotClass)]
|
#[derive(GodotClass)]
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user