48 lines
1.2 KiB
GDScript3
48 lines
1.2 KiB
GDScript3
|
|
extends SceneTree
|
||
|
|
|
||
|
|
|
||
|
|
func _initialize() -> void:
|
||
|
|
call_deferred("_run")
|
||
|
|
|
||
|
|
|
||
|
|
func _run() -> void:
|
||
|
|
assert(
|
||
|
|
CharacterCustomizationCatalog._canonical_feature_filename(
|
||
|
|
"eyes_alligator_eyes.png"
|
||
|
|
) == "eyes_alligator_eyes.png"
|
||
|
|
)
|
||
|
|
assert(
|
||
|
|
CharacterCustomizationCatalog._canonical_feature_filename(
|
||
|
|
"eyes_alligator_eyes.png.import"
|
||
|
|
) == "eyes_alligator_eyes.png"
|
||
|
|
)
|
||
|
|
assert(
|
||
|
|
CharacterCustomizationCatalog._canonical_feature_filename(
|
||
|
|
"eyes_alligator_eyes.png.remap"
|
||
|
|
) == "eyes_alligator_eyes.png"
|
||
|
|
)
|
||
|
|
assert(
|
||
|
|
CharacterCustomizationCatalog._canonical_feature_filename(
|
||
|
|
"eyes_alligator_eyes.jpg"
|
||
|
|
).is_empty()
|
||
|
|
)
|
||
|
|
|
||
|
|
var expected_counts := {"eyes": 22, "mouth": 17, "nose": 17}
|
||
|
|
for category_id: String in expected_counts:
|
||
|
|
var options := CharacterCustomizationCatalog.options_for(category_id)
|
||
|
|
assert(options.size() == int(expected_counts[category_id]) + 1)
|
||
|
|
var seen_ids: Dictionary = {}
|
||
|
|
for option: Dictionary in options:
|
||
|
|
var option_id := str(option.get("id", ""))
|
||
|
|
assert(not seen_ids.has(option_id))
|
||
|
|
seen_ids[option_id] = true
|
||
|
|
if option_id != "none":
|
||
|
|
assert(
|
||
|
|
CharacterCustomizationCatalog.texture_for(
|
||
|
|
category_id, option_id
|
||
|
|
) != null
|
||
|
|
)
|
||
|
|
|
||
|
|
print("Exported decal hotfix validation: PASS")
|
||
|
|
quit()
|