Randoloot/tests/items/weapon_icon_transparency_test.gd
2026-10-26 19:33:45 +01:00

28 lines
1.1 KiB
GDScript

extends Node
func _ready() -> void:
var generator := preload("res://scripts/items/item_generator.gd")
var lab := preload("res://scripts/planets/laboratory.gd")
var definitions: Array = generator.DEFINITIONS.duplicate()
for id in lab.IDS:
var definition := lab.definition(id)
if definition not in definitions: definitions.append(definition)
var count := 0
for definition in definitions:
if definition.category != ItemDefinition.Category.WEAPON: continue
var image: Image = definition.icon.get_image()
assert(image != null and not image.is_empty())
var transparent := 0
var visible := 0
for y in range(0,image.get_height(),8):
for x in range(0,image.get_width(),8):
var color := image.get_pixel(x,y)
if color.a < 0.01: transparent += 1
if color.a > 0.5: visible += 1
assert(transparent > 100,"Weapon icon background must be transparent: "+definition.item_id)
assert(visible > 100,"Weapon artwork must remain visible: "+definition.item_id)
count += 1
assert(count == 11)
print("WEAPON_ICON_TRANSPARENCY_TEST: PASS (11 weapon icons with transparent backgrounds and visible artwork)")
get_tree().quit()