aboutsummaryrefslogtreecommitdiff
path: root/kennel/engine/components
diff options
context:
space:
mode:
Diffstat (limited to 'kennel/engine/components')
-rw-r--r--kennel/engine/components/sprite_sheet.py17
1 files changed, 16 insertions, 1 deletions
diff --git a/kennel/engine/components/sprite_sheet.py b/kennel/engine/components/sprite_sheet.py
index 5730085..3a01f5b 100644
--- a/kennel/engine/components/sprite_sheet.py
+++ b/kennel/engine/components/sprite_sheet.py
@@ -18,6 +18,19 @@ class SpriteSpec:
self.end_x = end_x
self.end_y = end_y
+ def to_dict(self) -> dict:
+ return {
+ "ms_per_frame": self.ms_per_frame,
+ "top_x": self.top_x,
+ "top_y": self.top_y,
+ "end_x": self.end_x,
+ "end_y": self.end_y,
+ "frames": self.frames,
+ }
+
+ def __repr__(self) -> str:
+ return f"SpriteSpec(ms_per_frame={self.ms_per_frame}, top_x={self.top_x}, top_y={self.top_y}, end_x={self.end_x}, end_y={self.end_y}, frames={self.frames})"
+
class SpriteSheet(Component):
def __init__(
@@ -44,5 +57,7 @@ class SpriteSheet(Component):
"current_frame": self.current_frame,
"last_update": self.last_update,
"current_state": self.initial_state,
- "state_to_spritespec": self.state_to_spritespec,
+ "state_to_spritespec": {
+ k: v.to_dict() for k, v in self.state_to_spritespec.items()
+ },
}