Inspection for Animation component

This commit is contained in:
2024-01-10 16:59:17 +01:00
parent d730d7554b
commit 52cccf4665
5 changed files with 107 additions and 41 deletions

View File

@@ -222,7 +222,7 @@ class EnumWriter:
def output_enum_tile_size(self, func_name):
writer = self.writer
writer.output(
f"static {self.enum_type} {func_name}({self.enum_type} type, BzTileID *outWidth, BzTileID *outHeight) ")
f"static {self.enum_type} {func_name}({self.enum_type} type, i32 *outWidth, i32 *outHeight) ")
writer.block_start()
writer.output("switch (type) ")
@@ -330,7 +330,22 @@ class EnumWriter:
def output_anim_enum(self):
writer = self.writer
writer.enum_list(self.anim_type, self.animations)
pass
def output_anim_enum_to_str(self, func_name):
writer = self.writer
writer.output(f"static const char *{func_name}({self.anim_type} type) ")
writer.block_start()
writer.output("switch (type) ")
writer.block_start()
for name in self.animations:
writer.output(f"case {name}: return \"{name}\";\n")
writer.output(f"default: return NULL;\n")
writer.block_end()
writer.block_end()
writer.empty_line()
def output_has_anim(self, func_name):
writer = self.writer

View File

@@ -64,7 +64,6 @@ writer.empty_line()
building_writer.output_enum()
building_writer.output_tile_to_enum("getTileBuilding")
building_writer.output_enum_to_tile("getBuildingTile")
building_writer.output_str_to_enum("getBuildingFromStr")
building_writer.output_enum_to_str("getBuildingStr")
building_writer.output_enum_tile_size("getBuildingSize")
writer.empty_line()
@@ -75,11 +74,13 @@ anim_writer.output_enum()
anim_writer.output_anim_enum()
anim_writer.output_enum_to_tile("getEntityTile")
anim_writer.output_enum_to_str("getEntityStr")
anim_writer.output_anim_enum_to_str("getEntityAnimationStr")
anim_writer.output_has_anim("entityHasAnimation")
anim_writer.output_anim_sequence("entityGetAnimationSequence")
anim_writer.output_anim_frame("entityGetAnimationFrame")
print(item_tiles)
#print(item_tiles)
item_writer = EnumWriter(writer, item_tiles, "item", "item_anim")
item_writer.output_enum()
#item_writer.output_anim_enum()