Added validation to prevent setting sprite indices outside the valid range for a texture. The implementation: - Adds getSpriteCount() method to PyTexture to expose total sprites - Validates sprite_number setter to ensure index is within bounds - Provides clear error messages showing valid range - Works for both Sprite and Entity objects closes #33
25 lines
No EOL
605 B
Python
25 lines
No EOL
605 B
Python
import mcrfpy
|
|
|
|
# Test sprite index validation
|
|
t = mcrfpy.Texture("assets/kenney_ice.png", 16, 16)
|
|
s = mcrfpy.Sprite(10, 10, t, 5)
|
|
|
|
print(f"Initial sprite index: {s.sprite_number}")
|
|
|
|
# Try valid index
|
|
s.sprite_number = 50
|
|
print(f"Set to 50: {s.sprite_number}")
|
|
|
|
# Try invalid index
|
|
try:
|
|
s.sprite_number = 200
|
|
print("ERROR: Should have rejected index 200")
|
|
except ValueError as e:
|
|
print(f"✓ Correctly rejected: {e}")
|
|
|
|
# Try negative
|
|
try:
|
|
s.sprite_number = -1
|
|
print("ERROR: Should have rejected negative index")
|
|
except ValueError as e:
|
|
print(f"✓ Correctly rejected negative: {e}") |