Porytiles
Loading...
Searching...
No Matches
porytiles::TilesetArtifactReader Class Referenceabstract

Abstract interface for reading tileset artifacts from a backing store into a Tileset object. More...

#include <tileset_artifact_reader.hpp>

Inheritance diagram for porytiles::TilesetArtifactReader:
[legend]

Public Member Functions

virtual ~TilesetArtifactReader ()=default
 
virtual ChainableResult< void > read_metatiles_bin (Tileset &dest, const ArtifactKey &src_key) const =0
 
virtual ChainableResult< void > read_metatile_attributes_bin (Tileset &dest, const ArtifactKey &src_key) const =0
 
virtual ChainableResult< void > read_tiles_png (Tileset &dest, const ArtifactKey &src_key) const =0
 
virtual ChainableResult< void > read_porymap_pal_n (Tileset &dest, const ArtifactKey &src_key, std::size_t index) const =0
 
virtual ChainableResult< void > read_porymap_anim (Tileset &dest, const std::string &anim_name, const ArtifactKey &params_key, const std::vector< std::pair< std::string, ArtifactKey > > &frame_keys) const =0
 
virtual ChainableResult< void > read_bottom_png (Tileset &dest, const ArtifactKey &src_key) const =0
 
virtual ChainableResult< void > read_middle_png (Tileset &dest, const ArtifactKey &src_key) const =0
 
virtual ChainableResult< void > read_top_png (Tileset &dest, const ArtifactKey &src_key) const =0
 
virtual ChainableResult< void > read_attributes_csv (Tileset &dest, const ArtifactKey &src_key) const =0
 
virtual ChainableResult< void > read_porytiles_pal_n (Tileset &dest, const ArtifactKey &src_key, std::size_t index) const =0
 
virtual ChainableResult< void > read_porytiles_anim (Tileset &dest, const std::string &anim_name, const ArtifactKey &params_key, const std::optional< ArtifactKey > &key_frame_key, const std::vector< std::pair< std::string, ArtifactKey > > &frame_keys) const =0
 
virtual ChainableResult< void > read_porytiles_primary_anim_references (Tileset &dest, const ArtifactKey &params_key) const =0
 

Detailed Description

Abstract interface for reading tileset artifacts from a backing store into a Tileset object.

The TilesetArtifactReader provides the capability to read various types of tileset artifacts (PNG files, binary data, CSV files, etc.) from their stored locations and populate the appropriate fields in a Tileset object. This interface abstracts the reading logic from the specific storage format and location.

Implementations handle the details of parsing different artifact types and updating the correct components within the target Tileset. The interface uses ArtifactKey to support different backing store implementations (filesystem paths, database keys, URLs, etc.), as long as the key is string-representable.

Definition at line 26 of file tileset_artifact_reader.hpp.

Constructor & Destructor Documentation

◆ ~TilesetArtifactReader()

virtual porytiles::TilesetArtifactReader::~TilesetArtifactReader ( )
virtualdefault

Member Function Documentation

◆ read_attributes_csv()

virtual ChainableResult< void > porytiles::TilesetArtifactReader::read_attributes_csv ( Tileset dest,
const ArtifactKey src_key 
) const
pure virtual

◆ read_bottom_png()

virtual ChainableResult< void > porytiles::TilesetArtifactReader::read_bottom_png ( Tileset dest,
const ArtifactKey src_key 
) const
pure virtual

◆ read_metatile_attributes_bin()

virtual ChainableResult< void > porytiles::TilesetArtifactReader::read_metatile_attributes_bin ( Tileset dest,
const ArtifactKey src_key 
) const
pure virtual

◆ read_metatiles_bin()

virtual ChainableResult< void > porytiles::TilesetArtifactReader::read_metatiles_bin ( Tileset dest,
const ArtifactKey src_key 
) const
pure virtual

◆ read_middle_png()

virtual ChainableResult< void > porytiles::TilesetArtifactReader::read_middle_png ( Tileset dest,
const ArtifactKey src_key 
) const
pure virtual

◆ read_porymap_anim()

virtual ChainableResult< void > porytiles::TilesetArtifactReader::read_porymap_anim ( Tileset dest,
const std::string &  anim_name,
const ArtifactKey params_key,
const std::vector< std::pair< std::string, ArtifactKey > > &  frame_keys 
) const
pure virtual

◆ read_porymap_pal_n()

virtual ChainableResult< void > porytiles::TilesetArtifactReader::read_porymap_pal_n ( Tileset dest,
const ArtifactKey src_key,
std::size_t  index 
) const
pure virtual

◆ read_porytiles_anim()

virtual ChainableResult< void > porytiles::TilesetArtifactReader::read_porytiles_anim ( Tileset dest,
const std::string &  anim_name,
const ArtifactKey params_key,
const std::optional< ArtifactKey > &  key_frame_key,
const std::vector< std::pair< std::string, ArtifactKey > > &  frame_keys 
) const
pure virtual

◆ read_porytiles_pal_n()

virtual ChainableResult< void > porytiles::TilesetArtifactReader::read_porytiles_pal_n ( Tileset dest,
const ArtifactKey src_key,
std::size_t  index 
) const
pure virtual

◆ read_porytiles_primary_anim_references()

virtual ChainableResult< void > porytiles::TilesetArtifactReader::read_porytiles_primary_anim_references ( Tileset dest,
const ArtifactKey params_key 
) const
pure virtual

◆ read_tiles_png()

virtual ChainableResult< void > porytiles::TilesetArtifactReader::read_tiles_png ( Tileset dest,
const ArtifactKey src_key 
) const
pure virtual

◆ read_top_png()

virtual ChainableResult< void > porytiles::TilesetArtifactReader::read_top_png ( Tileset dest,
const ArtifactKey src_key 
) const
pure virtual

The documentation for this class was generated from the following file: