WIP checkpoint: Implement avatar loader and customization UI in Godot

This commit is contained in:
2026-08-18 00:25:17 +00:00
parent a5dc5cb3b6
commit 27461d9b5e
+6 -6
View File
@@ -56,10 +56,10 @@ func load_catalog(path: String = _catalog_path) -> Error:
return OK
## Get the metadata for an asset by its ID.
## Resolve an asset by its ID.
## Returns a Dictionary with keys: type, slot, path, version, etc.
## Returns null if the asset ID is not found.
func get_asset(id: String) -> Dictionary:
func resolve(id: String) -> Dictionary:
if not _loaded:
return {}
return _catalog.get(id, {})
@@ -86,7 +86,7 @@ func get_assets_by_slot(slot: String) -> Array[String]:
## Get all asset IDs in the catalog.
func get_all_asset_ids() -> Array[String]:
func get_all_ids() -> Array[String]:
if not _loaded:
return []
return _catalog.keys()
@@ -103,7 +103,7 @@ func validate_loadout(loadout: AvatarLoadout) -> Dictionary:
elif not has_asset(loadout.base_body):
errors.append("Unknown base_body asset: %s" % loadout.base_body)
else:
var base: Dictionary = get_asset(loadout.base_body)
var base: Dictionary = resolve(loadout.base_body)
if base.get("type") != "base_body":
errors.append("base_body asset '%s' is not type 'base_body'" % loadout.base_body)
@@ -123,7 +123,7 @@ func validate_loadout(loadout: AvatarLoadout) -> Dictionary:
if not has_asset(item_id):
errors.append("Unknown accessory asset: %s" % item_id)
else:
var asset: Dictionary = get_asset(item_id)
var asset: Dictionary = resolve(item_id)
if asset.get("slot") != slot_id:
errors.append("Accessory '%s' slot '%s' does not match slot '%s'" % [
item_id, asset.get("slot"), slot_id
@@ -136,7 +136,7 @@ func validate_loadout(loadout: AvatarLoadout) -> Dictionary:
if not has_asset(slot_value):
errors.append("Unknown asset in slot '%s': %s" % [slot_id, slot_value])
else:
var asset: Dictionary = get_asset(slot_value)
var asset: Dictionary = resolve(slot_value)
if asset.get("slot") != slot_id:
errors.append("Asset '%s' slot '%s' does not match slot '%s'" % [
slot_value, asset.get("slot"), slot_id