Aetheria/Assets/Scripts/UI
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Meta Vens 00f62acc34 Make loadouts player-store design documents built all-or-nothing (Cut 10)
Loadout.cs owns loadouts: the document, capture, save and materialization.

- Loadout ("aetheria.loadout", player store) holds a hull design ref, and
  per slot a hull cell, a rotation and an EquippableItemData design ref,
  plus weapon groups as slot indices. It names no product, manufacturer,
  unit roll, cargo, faction, position or behaviour state.
- Loadouts.Capture records the hull design and one slot per equipped item
  (gear, cargo bays, docking bays). Entity.Equipment also holds the hull's
  own unit (MapEntity adds EquippedHull); that is Loadout.Hull, not a slot.
- Loadouts.Save is the only writer: one Commit to the player store, reusing
  the existing key for the name.
- Loadouts.Materialize is the only builder of a ship from a loadout. For
  the hull and each slot in order it resolves the design and takes the
  first product in catalog order that LoadoutGenerator.IsAvailable (now
  public) accepts, with no any-manufacturer fallback. Every failing slot is
  listed; units are built only after everything resolved, and any resolve
  or fit failure returns null with no ship, no charge and no write.
- Loadouts.Price is the hull design's price plus each slot design's price.
- InventoryPanel: Save Loadout asks for a name (default: the ship's name)
  and saves the capture. Restore Loadout, shown when docked with saved
  loadouts, lists each with its price, debits credits only after
  Materialize succeeds, then docks the ship as before; a failure opens
  "Loadout cannot be built here" with one line per failing slot.

Tests: new LoadoutTests (3): LoadoutRoundTripsThroughAFreshCache,
LoadoutHoldsNoRunOrGalaxyRefs, MissingDesignReports. Each fails with its
rule mutated out. The fixture hull is 3x3, not the spec's 2x2:
HullData.InteriorCells is Shape.Shrink(), so a 2x2 hull has no interior
cell a cargo bay can occupy.

Builds: headless, 14 tests pass, Unity batchmode compile reports no error CS.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 22:06:06 +02:00
..
HUD Replace the Database Tools with the Studio and cut Unity over 2026-09-14 19:15:20 +02:00
InputScreen Land RunSave and the one-cache run and player lifecycle (Cut 10) 2026-09-14 22:00:27 +02:00
Menu Make loadouts player-store design documents built all-or-nothing (Cut 10) 2026-09-14 22:06:06 +02:00
Properties Panel Replace the Database Tools with the Studio and cut Unity over 2026-09-14 19:15:20 +02:00
BackgroundRenderer.cs First Flight 2020-12-22 03:13:43 +00:00
BackgroundRenderer.cs.meta Generating and Displaying Zones 2020-03-29 04:19:24 +01:00
ClickableCollider.cs Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
ClickableCollider.cs.meta Generating and Displaying Zones 2020-03-29 04:19:24 +01:00
ClickCatcher.cs Playability 2022-08-08 22:43:55 +01:00
ClickCatcher.cs.meta Generating and Displaying Zones 2020-03-29 04:19:24 +01:00
ClickRaycaster.cs Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
ClickRaycaster.cs.meta Generating and Displaying Zones 2020-03-29 04:19:24 +01:00
ConfirmationDialog.cs Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
ConfirmationDialog.cs.meta Hauling Task 2020-06-12 01:57:15 +01:00
ConsoleController.cs Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
ConsoleController.cs.meta Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
ConsoleView.cs Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
ConsoleView.cs.meta Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
ContextMenu.cs Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
ContextMenu.cs.meta Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
ContextMenuOption.cs Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
ContextMenuOption.cs.meta Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
CorporationMenuItem.cs First Flight 2020-12-22 03:13:43 +00:00
CorporationMenuItem.cs.meta Corporation Creation Screen 2020-05-18 01:06:30 +01:00
DropdownMenu.cs Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
DropdownMenu.cs.meta Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
FieldTester.cs Delete AetheriaMath in favour of CultMath 2026-09-14 18:02:41 +02:00
FieldTester.cs.meta Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
HUD.meta In Game Input Screen 2021-05-08 07:35:16 +01:00
InputScreen.meta Dynamic Input System Rebinding 2021-05-07 23:31:39 +01:00
MainMenu.cs Land RunSave and the one-cache run and player lifecycle (Cut 10) 2026-09-14 22:00:27 +02:00
MainMenu.cs.meta Live Demo Tweaks 2021-04-09 14:01:34 +01:00
Menu.meta In Game Input Screen 2021-05-08 07:35:16 +01:00
Properties Panel.meta In Game Input Screen 2021-05-08 07:35:16 +01:00
SpriteCursor.cs Playability 2022-08-08 22:43:55 +01:00
SpriteCursor.cs.meta Playability 2022-08-08 22:43:55 +01:00
TextButton.cs Swap Unity.Mathematics usings for CultMath 2026-09-14 17:39:12 +02:00
TextButton.cs.meta Save/Load and Main Menu Submenus 2021-03-14 03:56:49 +00:00
ZoneGravityObject.cs First Flight 2020-12-22 03:13:43 +00:00
ZoneGravityObject.cs.meta Entity Spawning & Rendering 2020-05-25 03:05:30 +01:00
ZoneObject.cs First Flight 2020-12-22 03:13:43 +00:00
ZoneObject.cs.meta Entity Spawning & Rendering 2020-05-25 03:05:30 +01:00
ZoneShip.cs First Flight 2020-12-22 03:13:43 +00:00
ZoneShip.cs.meta Local AI Testing & Interactive Tech Tab 2020-04-23 03:31:17 +01:00