Keep general and extensible. Implement core tilemap and tileset functionality that can be built on top of. Best way is to probably just make everything protected and allow callers to inherit and add their own functionality. Integrate with serializer.
Implementation thoughts:
Make dedicated TileMap graphics object to use in place of batch buffers
Make render geometry/objects first-class members that get serialized with the map (generate on first load if not present already)
Maybe go with plugins & factory pattern instead of above approach
Keep general and extensible. Implement core tilemap and tileset functionality that can be built on top of. Best way is to probably just make everything
protected
and allow callers to inherit and add their own functionality. Integrate with serializer.Implementation thoughts: