Commit graph Aetheria/Assets/Scripts/UI/Menu/TradeMenu.cs
Author SHA1 Message Date
Meta Vens
68d80968e8 TradeMenu: the Price column shows and sorts by StationServices, and buys go through TryBuy
The column's sort key was the raw design price; it is now the shown price, the sell price while selling. Buy affordability and the credit charge move to StationServices.TryBuy, so a purchase costing exactly the credits held succeeds.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-07 00:47:08 +02:00
Meta Vens
787715ad4a TradeMenu prices every buy through StationServices.BuyPrice; the list column, the quantity cap, the check and the charge agree
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 22:56:06 +02:00
Meta Vens
c204397cb0 TradeMenu sells and repairs through StationServices; credits seed from the stage or the save
The hardcoded credits initializer and its stale scene serialization go. Buy charges the hull price it checked. Sell is a
mode of the trade list over the selected bay; Repair is a foldout option for the docked ship.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 19:30:34 +02:00
Meta Vens
18e12d81ce Merge master (fire control 12) into codex/moddable-ships 2026-09-30 02:21:09 +02:00
Meta Vens
f935c29b4b Fix console text input and route give through ship commissioning
- ConsoleView appended the control characters text input delivers (\b, \r),
  so Backspace inserted a glyph and Enter's \r got every command refused
  since d503f076 made the parser refuse instead of strip. Control characters
  are no longer text; Backspace deletes like Delete.
- give reports an unknown name or a full cargo bay. A ship hull is refused
  unless docked, and when docked is commissioned through
  ActionGameManager.CommissionShip, the primitive TradeMenu.Buy now uses: a
  bare player ship moored at the docked entity, no docking bay. Non-ship
  hulls are refused.
- Record play smoke results for steps 3-6 and the docking bay finding.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 01:04:11 +02:00
Meta Vens
24c2964046 Preview typed mod ship visuals and captured LineArt in Unity 2026-09-26 19:10:44 +02:00
Meta Vens
0c2da217f3 Cut 0: give Entity its own EntitySettings copy, delete the duplicate copies
Entity's constructor now takes a MessagePack round-trip copy of the settings
it is given, so no entity can alias GameplaySettings.DefaultEntitySettings.
That makes ActionGameManager.NewEntitySettings and EntitySerializer.Unpack's
null-coalescing copy redundant; both are deleted, and TradeMenu buys a ship
straight off the template (Entity's ctor copies it).

EntitiesDoNotShareDefaultEntitySettings pins the invariant: writing
ShutdownPerformance on one ship must not move the default for a sibling or
the template (settings-globals-cut.md, Cut 0).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-17 18:22:22 +02:00
Meta Vens
9bdf6ef23f Replace the Database Tools with the Studio and cut Unity over
Cut 8b. The Unity project compiles with 0 errors in 6000.3.24f1 batchmode.

Packages: manifest.json pins org.gamecult.cultlib at cultlib-unity-v1.0.57
and org.gamecult.caching.unity at caching-unity-v1.2.0, next to the 8a
CultMath tag. Aetheria.Shared.Unity references GameCult.CultLib and keeps
noEngineReferences.

The Database Tools (Assets/Scripts/CultCache/Editor) are deleted in this
commit, alongside their five ported drawers in
Assets/Scripts/Editor/CultCacheDrawers.cs, each an
[CultInspectorDrawer] ICultInspectorDrawer:
- InspectableType: popup of the attribute type's [Union] member names,
  writing the string.
- InspectableColor: float3 and float4 through ColorField.
- InspectableAnimationCurve: float4[] and BezierCurve through CurveField.
- InspectableTemperature: Kelvin, Celsius and Fahrenheit fields over one
  value.
- InspectableSchematicShape: size and cell toggles. The old drawer also
  drew the item's schematic texture and tinted hull hardpoints, which need
  the parent document. The tagged Studio hands a drawer only the value, so
  those wait on the Studio exposing the open record.

Unity call sites:
- ActionGameManager opens the catalog through AetheriaStores; Cut 10 adds
  the run and player stores.
- Refs resolve through ItemManager.GetData or Get(ref); orbit, planet and
  belt maps key by CultRecordKey; identity is compared by reference or key.
- The PlayerSettings.msgpack reader and writer, which Cut 10 deletes, pass
  CultDocumentMessagePackSerialization.OptionsFor, since the embedded run
  reaches CultMath values and refs. Keyboard layouts need no resolver and
  keep MessagePack's defaults until Cut 10.
- The input map uses the nested action to binding shape.
- PropertiesPanel reads CultInspectorRangeAttribute.
- NameTools loses its legacy name-file writer.
- Slime compares serialized settings instead of the deleted SHA1 helper.
- FieldDriver drops InspectorHeader.
- .gitignore covers the test project's build output.

Builds: Aetheria.Shared, AetherDb, Aetheria.Shared.Tests (6/6), Unity
batchmode (0 errors).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 19:15:20 +02:00
Meta Vens
6140a06a0a Swap Unity.Mathematics usings for CultMath
Every Unity.Mathematics using, alias and qualified name under Assets\Scripts
and tools now names CultMath. The nine `using static ...noise;` lines are
gone: snoise lives on CultMath's math. UnityExtensions loses float4.ToColor
and Color.ToFloat4, which duplicate the bridge's ToColor and ToCultMath; the
float3 colour pair stays because the bridge has none.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 17:39:12 +02:00
Meta Vens
7006a6b0dd Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
Meta Vens
a330e24d96 Make trade acceptance daemon authoritative 2026-07-15 20:46:05 +01:00
Meta Vens
4d7bb65868 Integrate CultMesh UI and URP cleanup 2026-06-30 19:14:49 +01:00
Meta Vens
988b72d2ba Expose native Unity current document access 2026-06-29 12:17:14 +01:00
Meta Vens
cf5897a98c Expose native Unity docking state access 2026-06-29 12:12:16 +01:00
Meta Vens
ca8b5858a2 Read menu docking through current typed state 2026-06-29 11:36:38 +01:00
Meta Vens
071c1febbd Sample trade menu through current typed access 2026-06-29 10:24:52 +01:00
Meta Vens
ade95ae5b6 Sample docking state through current typed access 2026-06-29 09:54:19 +01:00
Meta Vens
2941847112 Share Unity docking document access 2026-06-29 09:33:22 +01:00
Meta Vens
29111f74f4 Normalize menu shared document snapshots 2026-06-29 09:25:56 +01:00
Meta Vens
a3d6df3bfd Add named catalog and settings document access 2026-06-29 07:30:21 +01:00
Meta Vens
baac952fe3 Add named entity and refit document access 2026-06-29 07:21:01 +01:00
Meta Vens
7b261aaf47 Add named current docking document access 2026-06-29 07:14:40 +01:00
Meta Vens
d10da01a69 Expose native Unity runtime state access 2026-06-29 06:10:30 +01:00
Meta Vens
6600df0718 Build trade interaction models directly 2026-06-29 05:49:10 +01:00
Meta Vens
9e89bb0e8b Build trade cargo selector model directly 2026-06-29 05:46:13 +01:00
Meta Vens
09a5b019af Build trade item details directly 2026-06-29 05:31:23 +01:00
Meta Vens
e58cc2a5e8 Treat trade item pricing as values 2026-06-29 04:50:04 +01:00
Meta Vens
296a0b6de8 Add native reactive client state access 2026-06-29 04:18:22 +01:00
Meta Vens
0830588cbb Flatten Aetheria CultMesh reactive access 2026-06-29 02:42:08 +01:00
Meta Vens
9570bfc11d Simplify menu docking state access 2026-06-29 02:08:46 +01:00
Meta Vens
19c354ed9b Use generic fixed document reads 2026-06-29 00:15:40 +01:00
Meta Vens
3048b52058 Use generic current state documents 2026-06-29 00:08:58 +01:00
Meta Vens
e9c5281e3f Use generic reactive fixed documents 2026-06-28 23:50:28 +01:00
Meta Vens
6e16e2f605 Use reactive shared documents in trade menu 2026-06-28 22:19:26 +01:00
Meta Vens
16c6211d4a Use typed docking documents in trade menu 2026-06-28 15:55:14 +01:00
Meta Vens
ae9ddf43bd Rename trade interaction surface models 2026-06-28 15:38:59 +01:00
Meta Vens
14cbc92677 Rename trade cargo selector surface model 2026-06-28 15:35:36 +01:00
Meta Vens
64a97d2f0a Read menu docking from managed state 2026-06-28 15:08:05 +01:00
Meta Vens
7521f59a23 Centralize trade menu catalog settings access 2026-06-28 13:57:58 +01:00
Meta Vens
a035a55fc3 Remove Aetheria client state alias 2026-06-28 13:13:07 +01:00
Meta Vens
bd439240cd Route runtime menu docking reads through observed index 2026-06-28 12:34:47 +01:00
Meta Vens
b32a412df2 Move catalog enum parsing onto typed items 2026-06-28 12:16:19 +01:00
Meta Vens
ca92227ec2 Promote composed reactive state accessors 2026-06-28 11:01:19 +01:00
Meta Vens
759afb0044 Use reactive docking state snapshots 2026-06-28 10:07:05 +01:00
Meta Vens
a30679a096 Use reactive shared state in trade menu 2026-06-28 08:58:58 +01:00
Meta Vens
68fc0b0aa1 Use named managed shared state accessors 2026-06-28 08:02:16 +01:00
Meta Vens
a924b0e35b Centralize managed docking snapshot reads 2026-06-28 07:50:11 +01:00
Meta Vens
63c396be42 Delete runtime projection helper remnants 2026-06-28 07:40:08 +01:00
Meta Vens
ddef3fde64 Route trade menu through managed runtime client 2026-06-28 02:41:48 +01:00
Meta Vens
a873a31043 Expose docking target through managed snapshot 2026-06-28 02:08:17 +01:00