diff options
Diffstat (limited to 'kennel/engine/components')
| -rw-r--r-- | kennel/engine/components/sprite_sheet.py | 17 |
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() + }, } |
