refactor: unify item instance ids with the shared stable-id scheme

This commit is contained in:
2026-08-28 23:05:26 +02:00
parent 888e39e15d
commit db0356eb6f
4 changed files with 6 additions and 11 deletions
@@ -10,7 +10,7 @@ public partial class WorldItemController : RigidBody3D, IPickupTarget
{
public const string ItemGroup = "world_items";
[Export] public string InstanceId;
[Export] public string Key;
[Export] public string DefinitionId = "item";
[Export] public string DisplayName = "Item";
[Export] public HandRequirement HandRequirement = HandRequirement.One;
@@ -41,13 +41,9 @@ public partial class WorldItemController : RigidBody3D, IPickupTarget
throw new InvalidOperationException($"{Name}: held view scene is not assigned.");
}
Guid id = string.IsNullOrWhiteSpace(InstanceId)
? Guid.NewGuid()
: Guid.Parse(InstanceId);
Definition = new ItemDefinition(new ItemDefinitionId(DefinitionId), DisplayName, HandRequirement);
ItemInfo = new ItemInfo(
new ItemInstanceId(id),
ItemInstanceId.From(this.GetStableInstanceIdFrom(Key)),
Definition.Id,
Definition.DisplayName,
Definition.HandRequirement