Resolve runtime catalog items by typed keys

This commit is contained in:
Meta Vens 2026-06-15 00:49:54 +01:00
commit 4891c7fafc
14 changed files with 34 additions and 52 deletions

View file

@ -169,10 +169,7 @@ public class ActionBarGearBinding : ActionBarBinding
private static AetheriaRuntimeCatalogItem FindTypedGearItem(ItemInstance item)
{
var itemId = item?.ItemId ?? Guid.Empty;
return itemId == Guid.Empty
? null
: ActionGameManager.RuntimeCatalog?.FindItemByLegacyId(itemId.ToString("D"));
return ActionGameManager.RuntimeCatalog?.FindItem(item?.ItemKey ?? "");
}
public override void Activate()

View file

@ -249,8 +249,7 @@ public class ActionGameManager : MonoBehaviour
private ItemInstance CreateLoadoutItem(AetheriaRuntimeLoadoutItemSnapshot item)
{
var legacyId = ParseLegacyIdFromReferenceKey(item.ItemKey, "aetheria.item_definition");
var typedItem = RuntimeCatalog?.FindItemByLegacyId(legacyId);
var typedItem = RuntimeCatalog?.FindItem(item.ItemKey);
if (typedItem == null)
return null;
@ -1648,10 +1647,7 @@ public class ActionGameManager : MonoBehaviour
AetheriaRuntimeCatalogItem FindTypedActionBarItem(ItemInstance item)
{
var itemId = item?.ItemId ?? Guid.Empty;
return itemId == Guid.Empty
? null
: RuntimeCatalog?.FindItemByLegacyId(itemId.ToString("D"));
return RuntimeCatalog?.FindItem(item?.ItemKey ?? "");
}
var bindings = RuntimePlayerSettings.InputSettings.ActionBarInputs.OrderBy(i => i)

View file

@ -62,10 +62,7 @@ public class EntityInstance : MonoBehaviour
private static AetheriaRuntimeCatalogItem FindTypedHull(ItemInstance hull)
{
var itemId = hull?.ItemId ?? Guid.Empty;
return itemId == Guid.Empty
? null
: ActionGameManager.RuntimeCatalog?.FindItemByLegacyId(itemId.ToString("D"));
return ActionGameManager.RuntimeCatalog?.FindItem(hull?.ItemKey ?? "");
}
private static Shape ToShape(int width, int height, IReadOnlyList<AetheriaRuntimeShapeCell> cells)

View file

@ -142,9 +142,6 @@ public class ShipInstance : EntityInstance
private static AetheriaRuntimeCatalogItem FindTypedItem(ItemInstance item)
{
var itemId = item?.ItemId ?? Guid.Empty;
return itemId == Guid.Empty
? null
: ActionGameManager.RuntimeCatalog?.FindItemByLegacyId(itemId.ToString("D"));
return ActionGameManager.RuntimeCatalog?.FindItem(item?.ItemKey ?? "");
}
}

View file

@ -144,10 +144,7 @@ public class SchematicDisplay : MonoBehaviour
private static AetheriaRuntimeCatalogItem FindTypedWeapon(ItemInstance item)
{
var itemId = item?.ItemId ?? Guid.Empty;
var typedItem = itemId == Guid.Empty
? null
: ActionGameManager.RuntimeCatalog?.FindItemByLegacyId(itemId.ToString("D"));
var typedItem = ActionGameManager.RuntimeCatalog?.FindItem(item?.ItemKey ?? "");
return typedItem != null && !string.IsNullOrWhiteSpace(typedItem.WeaponType)
? typedItem
: null;
@ -288,9 +285,6 @@ public class SchematicDisplay : MonoBehaviour
private static AetheriaRuntimeCatalogItem FindTypedItem(ItemInstance item)
{
var itemId = item?.ItemId ?? Guid.Empty;
return itemId == Guid.Empty
? null
: ActionGameManager.RuntimeCatalog?.FindItemByLegacyId(itemId.ToString("D"));
return ActionGameManager.RuntimeCatalog?.FindItem(item?.ItemKey ?? "");
}
}

View file

@ -219,10 +219,7 @@ public class InventoryMenu : MonoBehaviour
private static AetheriaRuntimeCatalogItem FindTypedInventoryItem(ItemInstance item)
{
var itemId = item?.ItemId ?? Guid.Empty;
return itemId == Guid.Empty
? null
: ActionGameManager.RuntimeCatalog?.FindItemByLegacyId(itemId.ToString("D"));
return ActionGameManager.RuntimeCatalog?.FindItem(item?.ItemKey ?? "");
}
private static int2 RotateTypedShapeCell(

View file

@ -932,10 +932,7 @@ public class InventoryPanel : MonoBehaviour, IPointerClickHandler
private static AetheriaRuntimeCatalogItem FindTypedInventoryItem(ItemInstance item)
{
var itemId = item?.ItemId ?? Guid.Empty;
return itemId == Guid.Empty
? null
: ActionGameManager.RuntimeCatalog?.FindItemByLegacyId(itemId.ToString("D"));
return ActionGameManager.RuntimeCatalog?.FindItem(item?.ItemKey ?? "");
}
public bool CanDropItem(ItemInstance item)

View file

@ -393,13 +393,7 @@ public class TradeMenu : MonoBehaviour
private static AetheriaRuntimeCatalogItem FindTypedTradeItem(ItemInstance item)
{
var itemId = item?.ItemId ?? Guid.Empty;
if (itemId == Guid.Empty)
{
return null;
}
return ActionGameManager.RuntimeCatalog?.FindItemByLegacyId(itemId.ToString("D"));
return ActionGameManager.RuntimeCatalog?.FindItem(item?.ItemKey ?? "");
}
private static double GetTypedBehaviorNumber(TradeRow row, BehaviorFilter behaviorFilter, AetheriaRuntimeBehaviorFieldMetadata field)
@ -469,8 +463,6 @@ public class TradeMenu : MonoBehaviour
public AetheriaRuntimeCatalogItem TypedItem { get; }
public Guid LegacyId => Item?.ItemId ?? Guid.Empty;
public string ItemKey => Item?.ItemKey ?? "";
public string Name => !string.IsNullOrWhiteSpace(TypedItem?.Name) ? TypedItem.Name : "Unknown Item";

View file

@ -418,10 +418,7 @@ public class PropertiesPanel : MonoBehaviour
private static AetheriaRuntimeCatalogItem FindTypedPropertyItem(ItemInstance item)
{
var itemId = item?.ItemId ?? Guid.Empty;
return itemId == Guid.Empty
? null
: ActionGameManager.RuntimeCatalog?.FindItemByLegacyId(itemId.ToString("D"));
return ActionGameManager.RuntimeCatalog?.FindItem(item?.ItemKey ?? "");
}
private void AddEquippableItemProperties(EquippableItem item, Func<PerformanceStat, float> statValueFunction)

View file

@ -604,10 +604,7 @@ public class ZoneRenderer : MonoBehaviour
private static AetheriaRuntimeCatalogItem FindTypedZoneItem(ItemInstance item)
{
var itemId = item?.ItemId ?? Guid.Empty;
return itemId == Guid.Empty
? null
: ActionGameManager.RuntimeCatalog?.FindItemByLegacyId(itemId.ToString("D"));
return ActionGameManager.RuntimeCatalog?.FindItem(item?.ItemKey ?? "");
}
}