From 6dba17d86cff623d9112f9811da55e695af11efb Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Sat, 27 Jun 2026 13:36:40 +0100 Subject: [PATCH] Keep Unity state surface compile fixes --- .../Gameplay/AetheriaUnityCockpitHudShell.cs | 2 ++ .../AetheriaUnityPilotFrameAdapter.cs | 4 +-- .../AetheriaUnityRenderSettingsBridge.cs | 1 + .../AetheriaUnityTargetPresentation.cs | 6 ++--- Assets/Scripts/UI/HUD/SchematicDisplay.cs | 4 +-- Assets/Scripts/UI/MainMenu.cs | 2 -- Assets/Scripts/UI/Menu/InventoryMenu.cs | 16 ++++++++++++ Assets/Scripts/UI/Menu/LocalMenu.cs | 1 + Assets/Scripts/UI/Menu/SectorMap.cs | 3 +-- .../AetheriaRuntimeMainMenuSurfaceBuilder.cs | 25 +++++++++++++++++++ 10 files changed, 53 insertions(+), 11 deletions(-) diff --git a/Assets/Scripts/Gameplay/AetheriaUnityCockpitHudShell.cs b/Assets/Scripts/Gameplay/AetheriaUnityCockpitHudShell.cs index 034206a5c..092994053 100644 --- a/Assets/Scripts/Gameplay/AetheriaUnityCockpitHudShell.cs +++ b/Assets/Scripts/Gameplay/AetheriaUnityCockpitHudShell.cs @@ -2,6 +2,8 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ +using GameCult.Aetheria.State.Verse; + public sealed class AetheriaUnityCockpitHudShell { public InventoryPanel ShipPanel { get; set; } diff --git a/Assets/Scripts/Gameplay/AetheriaUnityPilotFrameAdapter.cs b/Assets/Scripts/Gameplay/AetheriaUnityPilotFrameAdapter.cs index 3f1532039..339a7bd7c 100644 --- a/Assets/Scripts/Gameplay/AetheriaUnityPilotFrameAdapter.cs +++ b/Assets/Scripts/Gameplay/AetheriaUnityPilotFrameAdapter.cs @@ -53,10 +53,10 @@ public sealed class AetheriaUnityPilotFrameAdapter if (renderSettings != null) { if (HeatstrokePost != null) - HeatstrokePost.weight = (float)renderSettings.NormalizeHeatstrokePost(currentEntity.Heatstroke); + HeatstrokePost.weight = (float)renderSettings.Value.NormalizeHeatstrokePost(currentEntity.Heatstroke); if (SevereHeatstrokePost != null) SevereHeatstrokePost.weight = - (float)renderSettings.ResolveSevereHeatstrokePostWeight(currentEntity.Heatstroke, timeSeconds); + (float)renderSettings.Value.ResolveSevereHeatstrokePostWeight(currentEntity.Heatstroke, timeSeconds); } if (currentEntity is Ship) diff --git a/Assets/Scripts/Gameplay/AetheriaUnityRenderSettingsBridge.cs b/Assets/Scripts/Gameplay/AetheriaUnityRenderSettingsBridge.cs index 7f955dd06..9b56796e7 100644 --- a/Assets/Scripts/Gameplay/AetheriaUnityRenderSettingsBridge.cs +++ b/Assets/Scripts/Gameplay/AetheriaUnityRenderSettingsBridge.cs @@ -3,6 +3,7 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ using System.Linq; +using GameCult.Aetheria.State.Verse; public static class AetheriaUnityRenderSettingsBridge { diff --git a/Assets/Scripts/Gameplay/AetheriaUnityTargetPresentation.cs b/Assets/Scripts/Gameplay/AetheriaUnityTargetPresentation.cs index f26e2366f..395ed60e8 100644 --- a/Assets/Scripts/Gameplay/AetheriaUnityTargetPresentation.cs +++ b/Assets/Scripts/Gameplay/AetheriaUnityTargetPresentation.cs @@ -66,7 +66,7 @@ public sealed class AetheriaUnityTargetPresentation { var contacts = ResolveVisibleContacts?.Invoke( currentEntity, - renderSettings.TargetDetectionInfoThreshold, + renderSettings.Value.TargetDetectionInfoThreshold, true) ?? Array.Empty(); foreach (var contact in contacts) @@ -168,9 +168,9 @@ public sealed class AetheriaUnityTargetPresentation } var infoGathered = ResolveInfoGathered?.Invoke(indicator.Key, currentEntity) ?? 0f; - indicator.Value.Fill.fillAmount = (float)renderSettings.NormalizeDetectionProgress(infoGathered); + indicator.Value.Fill.fillAmount = (float)renderSettings.Value.NormalizeDetectionProgress(infoGathered); indicator.Value.Fill.enabled = !blinkSpottedTargets || - renderSettings.ResolveTargetSpottedFillEnabled(infoGathered, time); + renderSettings.Value.ResolveTargetSpottedFillEnabled(infoGathered, time); } } diff --git a/Assets/Scripts/UI/HUD/SchematicDisplay.cs b/Assets/Scripts/UI/HUD/SchematicDisplay.cs index 519c62f87..2356ac2a4 100644 --- a/Assets/Scripts/UI/HUD/SchematicDisplay.cs +++ b/Assets/Scripts/UI/HUD/SchematicDisplay.cs @@ -210,7 +210,7 @@ public class SchematicDisplay : MonoBehaviour HeatstrokeMeterFill.anchorMax = new Vector2((float)hud.Heatstroke, 1); HypothermiaMeterFill.anchorMax = new Vector2((float)hud.Hypothermia, 1); HeatstrokeLimitFill.anchorMax = new Vector2( - (float)(_renderSettings?.NormalizeThermalRisk(_cockpit.Item.Temperature) ?? 0), + (float)(_renderSettings.NormalizeThermalRisk(_cockpit.Item.Temperature)), 1); } @@ -225,7 +225,7 @@ public class SchematicDisplay : MonoBehaviour { var charge = hud.CapacitorCharge; var maxCharge = hud.CapacitorCapacity; - EnergyFill.anchorMax = new Vector2(charge / maxCharge, 1); + EnergyFill.anchorMax = new Vector2((float)(charge / maxCharge), 1); EnergyLabel.text = $"{((int)charge).ToString()}/{((int)maxCharge).ToString()} + ({((int)hud.ReactorDraw).ToString()})"; } diff --git a/Assets/Scripts/UI/MainMenu.cs b/Assets/Scripts/UI/MainMenu.cs index 052d02128..bf07490d0 100644 --- a/Assets/Scripts/UI/MainMenu.cs +++ b/Assets/Scripts/UI/MainMenu.cs @@ -254,8 +254,6 @@ public class MainMenu : MonoBehaviour AetheriaRuntimeMainMenuSurfaceBuilder.BuildInputSettings( AetheriaRuntimeMainMenuSurfaceBuilder.ProjectRoot( stateBoot, - null, - null, LatestPlayerSettings(stateBoot), CanOpenRuntimeInputScreen(), InGame, diff --git a/Assets/Scripts/UI/Menu/InventoryMenu.cs b/Assets/Scripts/UI/Menu/InventoryMenu.cs index b0e0e539b..35d328e02 100644 --- a/Assets/Scripts/UI/Menu/InventoryMenu.cs +++ b/Assets/Scripts/UI/Menu/InventoryMenu.cs @@ -797,6 +797,22 @@ public class InventoryMenu : MonoBehaviour return currentEntity != null; } + private AetheriaRuntimeStationRefitDocument ResolveStationRefit() + { + try + { + return ResolveClient() + .StationRefitAsync() + .GetAwaiter() + .GetResult(); + } + catch (Exception ex) + { + Debug.LogWarning($"Failed to read Aetheria station refit projection for inventory menu: {ex.Message}"); + return null; + } + } + private bool TryResolveCurrentDocking(out AetheriaRuntimeCurrentDockingDocument docking) { docking = null; diff --git a/Assets/Scripts/UI/Menu/LocalMenu.cs b/Assets/Scripts/UI/Menu/LocalMenu.cs index 8b22783b7..ab2e485dd 100644 --- a/Assets/Scripts/UI/Menu/LocalMenu.cs +++ b/Assets/Scripts/UI/Menu/LocalMenu.cs @@ -13,6 +13,7 @@ using UniRx; using UniRx.Triggers; using UnityEngine; using UnityEngine.UIElements; +using Path = System.IO.Path; public class LocalMenu : MonoBehaviour { diff --git a/Assets/Scripts/UI/Menu/SectorMap.cs b/Assets/Scripts/UI/Menu/SectorMap.cs index 031c14b8c..af44e6ba8 100644 --- a/Assets/Scripts/UI/Menu/SectorMap.cs +++ b/Assets/Scripts/UI/Menu/SectorMap.cs @@ -243,8 +243,7 @@ public class SectorMap : MonoBehaviour foreach (var factionIndex in ResolveFactionIndices()) AddFactionMaterials(factionIndex); - foreach (var zoneIndex in _sectorMap.DiscoveredZoneIndices) - QueueZoneReveal([zoneIndex]); + QueueZoneReveal(_sectorMap.DiscoveredZoneIndices); if (_queuedZoneReveals.Count == 0) QueueZoneReveal(_sectorMap.Zones.Select(zone => zone.ZoneIndex)); diff --git a/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeMainMenuSurfaceBuilder.cs b/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeMainMenuSurfaceBuilder.cs index 079619f26..e7e6e3bf6 100644 --- a/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeMainMenuSurfaceBuilder.cs +++ b/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeMainMenuSurfaceBuilder.cs @@ -90,6 +90,31 @@ namespace GameCult.Aetheria.State.Verse public static class AetheriaRuntimeMainMenuSurfaceBuilder { + public static AetheriaRuntimeMainMenuSurfaceState ProjectRoot( + AetheriaRuntimeStateBootReport stateBoot, + AetheriaRuntimePlayerSettingsSnapshot playerSettings, + bool canOpenRuntimeInputScreen, + bool inGame, + string updatedAtUtc) + { + return new AetheriaRuntimeMainMenuSurfaceState( + stateBoot.TargetLabel, + stateBoot.TargetKind, + stateBoot.TargetSource, + stateBoot.Title, + stateBoot.VerseId, + "unknown", + stateBoot.CultMeshAddress, + inGame, + false, + "", + -1, + playerSettings?.BindingOverrides?.Count ?? 0, + playerSettings?.ActionBarInputs?.Count ?? 0, + canOpenRuntimeInputScreen, + updatedAtUtc); + } + public static AetheriaRuntimeMainMenuSurfaceState ProjectRoot( AetheriaRuntimeStateBootReport stateBoot, AetheriaRuntimeDaemonFrameDocument daemonFrame,