diff --git a/Aetheria.State.Verify/Program.cs b/Aetheria.State.Verify/Program.cs index 21bb76486..c15820ae5 100644 --- a/Aetheria.State.Verify/Program.cs +++ b/Aetheria.State.Verify/Program.cs @@ -50,7 +50,7 @@ RequireTradeCargoSelectorUseEveSurface(root); RequireTradeFilterAndRowActionsUseEveSurface(root); RequireTradeItemDetailsUseEveSurface(root); RequireTradeItemValuesUseRuntimeQueries(root); -RequireItemTierProjectionUsesRuntimeQueries(root); +RequireItemTierValuesUseRuntimeQueries(root); RequireInventoryDropdownUseEveSurface(root); RequireStationRefitDockingBaysUseTypedDocuments(root); RequireNoDeadPopupShells(root); @@ -6132,7 +6132,7 @@ static void RequireTradeItemValuesUseRuntimeQueries(string root) "AetheriaRuntimeDaemonTradeItemQueries.cs"); if (!File.Exists(tradeMenuPath)) { - throw new InvalidOperationException("Cannot verify trade item value projection; TradeMenu.cs is missing."); + throw new InvalidOperationException("Cannot verify trade item value; TradeMenu.cs is missing."); } if (!File.Exists(inventoryPanelPath)) { @@ -6144,7 +6144,7 @@ static void RequireTradeItemValuesUseRuntimeQueries(string root) } if (!File.Exists(tradeQueriesPath)) { - throw new InvalidOperationException("Cannot verify trade item value projection; shared runtime trade item queries are missing."); + throw new InvalidOperationException("Cannot verify trade item value; shared runtime trade item queries are missing."); } var tradeMenu = File.ReadAllText(tradeMenuPath); @@ -6153,13 +6153,13 @@ static void RequireTradeItemValuesUseRuntimeQueries(string root) var tradeQueries = File.ReadAllText(tradeQueriesPath); var requiredTradeMenuSymbols = new[] { - "ProjectTradeItem(stock, typedItem)", - "ProjectTradeItemCommit(", + "TradeItemValue(stock, typedItem)", + "TradeItemCommit(", "ResolveCatalog()?.TradeValueSettings", - "AetheriaRuntimeDaemonTradeItemQueries.ProjectTradeItem(", - "AetheriaRuntimeTradeItemProjection TradeProjection", - "public int Price => TradeProjection.Price", - "public string TierColorHex => TradeProjection.TierColorHex", + "AetheriaRuntimeDaemonTradeItemQueries.TradeItemValue(", + "AetheriaRuntimeTradeItemValue TradeValue", + "public int Price => TradeValue.Price", + "public string TierColorHex => TradeValue.TierColorHex", "x.TypedItem.TryGetSimpleCommodityCategory(", "x.TypedItem.TryGetCompoundCommodityCategory(", "x.TypedItem.TryGetHardpointType(", @@ -6171,7 +6171,7 @@ static void RequireTradeItemValuesUseRuntimeQueries(string root) if (missingTradeMenuSymbols.Length > 0) { throw new InvalidOperationException( - "TradeMenu no longer projects trade item price/tier values through shared daemon runtime queries: " + + "TradeMenu no longer reads trade item price/tier values through shared daemon runtime queries: " + string.Join(", ", missingTradeMenuSymbols)); } @@ -6194,7 +6194,7 @@ static void RequireTradeItemValuesUseRuntimeQueries(string root) if (tradeMenuHits.Length > 0) { throw new InvalidOperationException( - "TradeMenu still asks Unity ItemManager for trade item value projection: " + + "TradeMenu still asks Unity ItemManager for trade item value: " + string.Join(", ", tradeMenuHits)); } @@ -6228,11 +6228,11 @@ static void RequireTradeItemValuesUseRuntimeQueries(string root) var requiredQuerySymbols = new[] { "public static class AetheriaRuntimeDaemonTradeItemQueries", - "public readonly struct AetheriaRuntimeTradeItemProjection", + "public readonly struct AetheriaRuntimeTradeItemValue", "public sealed class AetheriaRuntimeTradeValueSettings", "public readonly struct AetheriaRuntimeItemRarityTier", "public readonly struct AetheriaRuntimeExponentialLerp", - "public static AetheriaRuntimeTradeItemProjection ProjectTradeItem(", + "public static AetheriaRuntimeTradeItemValue TradeItemValue(", "settings.QualityPriceModifier.Evaluate(quality.Value) * typedItem.Price", "SelectTier(settings.Tiers, quality.Value)", "AetheriaRuntimeDaemonItemStatQueries.ItemCommit(" @@ -6243,12 +6243,12 @@ static void RequireTradeItemValuesUseRuntimeQueries(string root) if (missingQuerySymbols.Length > 0) { throw new InvalidOperationException( - "Shared runtime trade item queries no longer own price/tier projection: " + + "Shared runtime trade item queries no longer own price/tier value: " + string.Join(", ", missingQuerySymbols)); } } -static void RequireItemTierProjectionUsesRuntimeQueries(string root) +static void RequireItemTierValuesUseRuntimeQueries(string root) { var actionGameManagerPath = Path.Combine(root, "Assets", "Scripts", "Gameplay", "ActionGameManager.cs"); var inventoryMenuPath = Path.Combine(root, "Assets", "Scripts", "UI", "Menu", "InventoryMenu.cs"); @@ -6262,21 +6262,21 @@ static void RequireItemTierProjectionUsesRuntimeQueries(string root) var actionGameManager = File.Exists(actionGameManagerPath) ? File.ReadAllText(actionGameManagerPath) - : throw new InvalidOperationException("Cannot verify item tier projection; ActionGameManager.cs is missing."); + : throw new InvalidOperationException("Cannot verify item tier value; ActionGameManager.cs is missing."); var inventoryMenu = File.Exists(inventoryMenuPath) ? File.ReadAllText(inventoryMenuPath) - : throw new InvalidOperationException("Cannot verify item tier projection; InventoryMenu.cs is missing."); + : throw new InvalidOperationException("Cannot verify item tier value; InventoryMenu.cs is missing."); var zoneRenderer = File.Exists(zoneRendererPath) ? File.ReadAllText(zoneRendererPath) - : throw new InvalidOperationException("Cannot verify item tier projection; ZoneRenderer.cs is missing."); + : throw new InvalidOperationException("Cannot verify item tier value; ZoneRenderer.cs is missing."); var tradeQueries = File.Exists(tradeQueriesPath) ? File.ReadAllText(tradeQueriesPath) - : throw new InvalidOperationException("Cannot verify item tier projection; runtime trade item queries are missing."); + : throw new InvalidOperationException("Cannot verify item tier value; runtime trade item queries are missing."); if (actionGameManager.Contains("ObservedItemTier(", StringComparison.Ordinal)) { throw new InvalidOperationException( - "ActionGameManager still exposes item tier projection as a Unity ItemManager bridge."); + "ActionGameManager still exposes item tier value as a Unity ItemManager bridge."); } var forbiddenUnityTierSymbols = new[] @@ -6300,17 +6300,17 @@ static void RequireItemTierProjectionUsesRuntimeQueries(string root) } if (!inventoryMenu.Contains("FormatItemTier(", StringComparison.Ordinal) || - !inventoryMenu.Contains("AetheriaRuntimeDaemonTradeItemQueries.ProjectTradeItem(", StringComparison.Ordinal) || - !inventoryMenu.Contains("tradeProjection.TierName", StringComparison.Ordinal) || - !inventoryMenu.Contains("tradeProjection.Upgrades", StringComparison.Ordinal) || - !zoneRenderer.Contains("AetheriaRuntimeDaemonTradeItemQueries.ProjectTradeItem(", StringComparison.Ordinal) || - !zoneRenderer.Contains("tradeProjection.TierColorHex", StringComparison.Ordinal) || + !inventoryMenu.Contains("AetheriaRuntimeDaemonTradeItemQueries.TradeItemValue(", StringComparison.Ordinal) || + !inventoryMenu.Contains("tradeValue.TierName", StringComparison.Ordinal) || + !inventoryMenu.Contains("tradeValue.Upgrades", StringComparison.Ordinal) || + !zoneRenderer.Contains("AetheriaRuntimeDaemonTradeItemQueries.TradeItemValue(", StringComparison.Ordinal) || + !zoneRenderer.Contains("tradeValue.TierColorHex", StringComparison.Ordinal) || !tradeQueries.Contains("public string TierName { get; }", StringComparison.Ordinal) || !tradeQueries.Contains("public string TierColorHex { get; }", StringComparison.Ordinal) || !tradeQueries.Contains("public int Upgrades { get; }", StringComparison.Ordinal)) { throw new InvalidOperationException( - "Item tier labels and pickup colors must be projected through shared runtime trade item query results."); + "Item tier labels and pickup colors must use shared runtime trade item query results."); } } @@ -6595,7 +6595,7 @@ static void RequireStationRefitDockingBaysUseTypedDocuments(string root) "private static IReadOnlyList ProjectStationStockTradeFacts(", "private static int ProjectStationStockPrice(", "private static int CountStationOwnedQuantity(", - "AetheriaRuntimeDaemonTradeItemQueries.ProjectTradeItem(", + "AetheriaRuntimeDaemonTradeItemQueries.TradeItemValue(", "CanAfford = price >= 0 && credits >= price", "OwnedQuantity = CountStationOwnedQuantity" }; diff --git a/Assets/Scripts/UI/Menu/InventoryMenu.cs b/Assets/Scripts/UI/Menu/InventoryMenu.cs index 48bc08de8..0123de71a 100644 --- a/Assets/Scripts/UI/Menu/InventoryMenu.cs +++ b/Assets/Scripts/UI/Menu/InventoryMenu.cs @@ -507,12 +507,12 @@ public class InventoryMenu : MonoBehaviour private string FormatItemTier(AetheriaRuntimeCatalogItem typedItem, EquippableItem item) { - var tradeProjection = AetheriaRuntimeDaemonTradeItemQueries.ProjectTradeItem( + var tradeValue = AetheriaRuntimeDaemonTradeItemQueries.TradeItemValue( typedItem, ToRuntimeLoadoutItem(item), ResolveCatalog()?.TradeValueSettings); - return tradeProjection.HasTier - ? $"{tradeProjection.TierName}{new string('+', tradeProjection.Upgrades)}" + return tradeValue.HasTier + ? $"{tradeValue.TierName}{new string('+', tradeValue.Upgrades)}" : ""; } diff --git a/Assets/Scripts/UI/Menu/TradeMenu.cs b/Assets/Scripts/UI/Menu/TradeMenu.cs index 1d4be74dd..cb269fc08 100644 --- a/Assets/Scripts/UI/Menu/TradeMenu.cs +++ b/Assets/Scripts/UI/Menu/TradeMenu.cs @@ -247,7 +247,7 @@ public class TradeMenu : MonoBehaviour return new TradeRow( stock, typedItem, - ProjectTradeItem(stock, typedItem)); + TradeItemValue(stock, typedItem)); }) .Where(row => row.TypedItem != null) .Where(PassesTypedTradeFilters); @@ -289,17 +289,17 @@ public class TradeMenu : MonoBehaviour return ResolveCatalog()?.FindItem(itemKey ?? ""); } - private AetheriaRuntimeTradeItemProjection ProjectTradeItem( + private AetheriaRuntimeTradeItemValue TradeItemValue( AetheriaRuntimeStationStockItem stock, AetheriaRuntimeCatalogItem typedItem) { - return AetheriaRuntimeDaemonTradeItemQueries.ProjectTradeItem( + return AetheriaRuntimeDaemonTradeItemQueries.TradeItemValue( typedItem, - ProjectTradeItemCommit(stock), + TradeItemCommit(stock), ResolveCatalog()?.TradeValueSettings); } - private static AetheriaRuntimeLoadoutItemCommit? ProjectTradeItemCommit(AetheriaRuntimeStationStockItem stock) + private static AetheriaRuntimeLoadoutItemCommit? TradeItemCommit(AetheriaRuntimeStationStockItem stock) { if (stock == null || string.IsNullOrWhiteSpace(stock.ItemKey)) return null; @@ -367,18 +367,18 @@ public class TradeMenu : MonoBehaviour public TradeRow( AetheriaRuntimeStationStockItem stock, AetheriaRuntimeCatalogItem typedItem, - AetheriaRuntimeTradeItemProjection tradeProjection) + AetheriaRuntimeTradeItemValue tradeValue) { Stock = stock; TypedItem = typedItem; - TradeProjection = tradeProjection; + TradeValue = tradeValue; } public AetheriaRuntimeStationStockItem Stock { get; } public AetheriaRuntimeCatalogItem TypedItem { get; } - public AetheriaRuntimeTradeItemProjection TradeProjection { get; } + public AetheriaRuntimeTradeItemValue TradeValue { get; } public string ItemKey => Stock?.ItemKey ?? ""; @@ -386,11 +386,11 @@ public class TradeMenu : MonoBehaviour public float Mass => TypedItem != null ? (float)TypedItem.Mass : 0f; - public int Price => TradeProjection.Price; + public int Price => TradeValue.Price; public int OwnedQuantity => Stock?.OwnedQuantity ?? 0; - public string TierColorHex => TradeProjection.TierColorHex; + public string TierColorHex => TradeValue.TierColorHex; public int ShapeWidth => TypedItem != null && TypedItem.ShapeWidth > 0 ? TypedItem.ShapeWidth : 0; diff --git a/Assets/Scripts/Zone Display/ZoneRenderer.cs b/Assets/Scripts/Zone Display/ZoneRenderer.cs index 28f4d71ae..a65aa132e 100644 --- a/Assets/Scripts/Zone Display/ZoneRenderer.cs +++ b/Assets/Scripts/Zone Display/ZoneRenderer.cs @@ -1174,7 +1174,7 @@ public class ZoneRenderer : MonoBehaviour itemPickup.ScanLabel.text = typedItem?.Name ?? "Unknown Item"; if (item is CraftedItemInstance craftedItemInstance) { - var tradeProjection = AetheriaRuntimeDaemonTradeItemQueries.ProjectTradeItem( + var tradeValue = AetheriaRuntimeDaemonTradeItemQueries.TradeItemValue( typedItem, AetheriaRuntimeDaemonTradeItemQueries.CraftedItemCommit( craftedItemInstance.ItemKey, @@ -1182,7 +1182,7 @@ public class ZoneRenderer : MonoBehaviour item is EquippableItem equippable ? equippable.Durability : 1f), ResolveCatalog()?.TradeValueSettings); var c = Color.white; - if (!ColorUtility.TryParseHtmlString($"#{tradeProjection.TierColorHex}", out c)) + if (!ColorUtility.TryParseHtmlString($"#{tradeValue.TierColorHex}", out c)) c = Color.white; c.a = 0; itemPickup.ScanLabel.color = c; diff --git a/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeDaemonTradeItemQueries.cs b/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeDaemonTradeItemQueries.cs index 1712ce79b..caa10826d 100644 --- a/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeDaemonTradeItemQueries.cs +++ b/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeDaemonTradeItemQueries.cs @@ -69,9 +69,9 @@ namespace GameCult.Aetheria.State.Verse public IReadOnlyList Tiers { get; } } - public readonly struct AetheriaRuntimeTradeItemProjection + public readonly struct AetheriaRuntimeTradeItemValue { - public AetheriaRuntimeTradeItemProjection( + public AetheriaRuntimeTradeItemValue( int price, string tierName, string tierColorHex, @@ -92,7 +92,7 @@ namespace GameCult.Aetheria.State.Verse public static class AetheriaRuntimeDaemonTradeItemQueries { - public static AetheriaRuntimeTradeItemProjection ProjectTradeItem( + public static AetheriaRuntimeTradeItemValue TradeItemValue( AetheriaRuntimeCatalogItem? typedItem, AetheriaRuntimeLoadoutItemCommit? item, AetheriaRuntimeTradeValueSettings? settings) @@ -112,7 +112,7 @@ namespace GameCult.Aetheria.State.Verse ? Upgrades(tier.Value, quality.Value) : 0; - return new AetheriaRuntimeTradeItemProjection( + return new AetheriaRuntimeTradeItemValue( price, tier?.Name ?? "", tier.HasValue ? ToHex(tier.Value) : "", @@ -222,7 +222,7 @@ namespace GameCult.Aetheria.State.Verse return true; } - price += ProjectTradeItem( + price += TradeItemValue( typedItem, CraftedItemCommit(item.ItemKey, item.Quality, item.Durability), settings).Price; diff --git a/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeRtsDocuments.cs b/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeRtsDocuments.cs index 7fda43964..76db76bbd 100644 --- a/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeRtsDocuments.cs +++ b/Packages/org.gamecult.aetheria.state/Runtime/AetheriaRuntimeRtsDocuments.cs @@ -1259,7 +1259,7 @@ namespace GameCult.Aetheria.State.Verse if (typedItem == null) return 0; - return AetheriaRuntimeDaemonTradeItemQueries.ProjectTradeItem( + return AetheriaRuntimeDaemonTradeItemQueries.TradeItemValue( typedItem, AetheriaRuntimeDaemonTradeItemQueries.CraftedItemCommit( itemKey,