transporters

This commit is contained in:
2026-07-08 10:06:25 -05:00
parent e43dae54a8
commit f407b5d9a6
14 changed files with 323 additions and 34 deletions
+20
View File
@@ -28,6 +28,8 @@ pub(crate) enum MenuLevel {
Machines,
/// Various directions of pushers
Pushers,
/// Various directions of transporters
Transporters,
/// Collectible items the player picks up (e.g. gems)
Items,
}
@@ -42,6 +44,7 @@ impl MenuLevel {
MenuLevel::Terrain => "Terrain",
MenuLevel::Machines => "Machines",
MenuLevel::Pushers => "Pushers",
MenuLevel::Transporters => "Transporters",
MenuLevel::Items => "Items",
}
}
@@ -81,6 +84,9 @@ impl MenuLevel {
],
MenuLevel::Machines => vec![
MenuEntry::item('p', "Pushers...", |ed| ed.menu.push(MenuLevel::Pushers)),
MenuEntry::item('t', "Transporters...", |ed| {
ed.menu.push(MenuLevel::Transporters)
}),
MenuEntry::item('s', "/ CW spinner", |ed| {
ed.set_current(Archetype::Builtin(Builtin::Spinner, "spinner_cw"))
}),
@@ -102,6 +108,20 @@ impl MenuLevel {
ed.set_current(Archetype::Builtin(Builtin::Pusher, "pusher_west"))
}),
],
MenuLevel::Transporters => vec![
MenuEntry::item('n', "▲ Transporter", |ed| {
ed.set_current(Archetype::Builtin(Builtin::Transporter, "transporter_north"))
}),
MenuEntry::item('s', "▼ Transporter", |ed| {
ed.set_current(Archetype::Builtin(Builtin::Transporter, "transporter_south"))
}),
MenuEntry::item('e', "► Transporter", |ed| {
ed.set_current(Archetype::Builtin(Builtin::Transporter, "transporter_east"))
}),
MenuEntry::item('w', "◄ Transporter", |ed| {
ed.set_current(Archetype::Builtin(Builtin::Transporter, "transporter_west"))
}),
],
MenuLevel::Items => vec![
MenuEntry::glyph('t', Archetype::Builtin(Builtin::Gem, "gem").default_glyph(), "Gem", |ed| {
// 't' for 'treasure' — 'g' conflicts with glyph picker