aboutsummaryrefslogtreecommitdiff
path: root/kennel/engine/components
diff options
context:
space:
mode:
authorElizabeth Hunt <elizabeth.hunt@simponic.xyz>2024-09-15 17:38:02 -0700
committerElizabeth Hunt <elizabeth.hunt@simponic.xyz>2024-09-15 17:38:02 -0700
commit8ac11eda05e7159a7f762d3396cf7bb8ee51534b (patch)
tree6e1214ceebd209f3829aac73b2dd330452079d84 /kennel/engine/components
parentf7e7121fce7bd3f7fdabe836955e43b3d194c1c6 (diff)
downloadkennel.hatecomputers.club-8ac11eda05e7159a7f762d3396cf7bb8ee51534b.tar.gz
kennel.hatecomputers.club-8ac11eda05e7159a7f762d3396cf7bb8ee51534b.zip
render the spritesheet spec in the render systemHEADmain
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()
+ },
}