Allow maps to be hidden

This commit is contained in:
Sofia 2026-07-30 01:11:10 +03:00
parent be5960dba8
commit cf68bd7887
4 changed files with 16 additions and 3 deletions

View File

@ -14,3 +14,4 @@ scene = ExtResource("1_k5804")
teams = Array[TeamResource]([ExtResource("2_kkbjr"), ExtResource("3_o48fm")]) teams = Array[TeamResource]([ExtResource("2_kkbjr"), ExtResource("3_o48fm")])
music = Array[AudioStream]([ExtResource("1_bjd18"), ExtResource("2_an43b"), ExtResource("3_e1bs0")]) music = Array[AudioStream]([ExtResource("1_bjd18"), ExtResource("2_an43b"), ExtResource("3_e1bs0")])
icon = ExtResource("1_an43b") icon = ExtResource("1_an43b")
hidden = true

View File

@ -8,3 +8,4 @@
name = "Diner" name = "Diner"
scene = ExtResource("1_yteo6") scene = ExtResource("1_yteo6")
teams = Array[TeamResource]([ExtResource("2_47vax"), ExtResource("3_i3gdq")]) teams = Array[TeamResource]([ExtResource("2_47vax"), ExtResource("3_i3gdq")])
hidden = true

View File

@ -18,6 +18,8 @@ pub struct MapResource {
pub music: Array<Gd<AudioStream>>, pub music: Array<Gd<AudioStream>>,
#[export] #[export]
pub icon: Option<Gd<CompressedTexture2D>>, pub icon: Option<Gd<CompressedTexture2D>>,
#[export]
pub hidden: bool,
base: Base<Resource>, base: Base<Resource>,
} }

View File

@ -97,11 +97,20 @@ impl IPanel for LobbyPanel {
}; };
if let Some(map_selection) = &mut self.map_selection { if let Some(map_selection) = &mut self.map_selection {
let prev_selection = game.bind().selected_map_idx as i32; let prev_selection = game.bind().selected_map_idx as i32;
for map in game.bind().maps.iter_shared() { for (id, map) in game.bind().maps.iter_shared().enumerate() {
if map.bind().hidden {
continue;
}
if let Some(icon) = &map.bind().icon { if let Some(icon) = &map.bind().icon {
map_selection.add_icon_item(icon, &map.bind().name); map_selection
.add_icon_item_ex(icon, &map.bind().name)
.id(id as i32)
.done();
} else { } else {
map_selection.add_item(&map.bind().name); map_selection
.add_item_ex(&map.bind().name)
.id(id as i32)
.done();
} }
} }
map_selection.select(prev_selection); map_selection.select(prev_selection);