refactor: unify item instance ids with the shared stable-id scheme
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user