GameKit  0.0.1a
C++ gamedev tools
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
gk::Tilemap Class Reference

#include <Tilemap.hpp>

Inheritance diagram for gk::Tilemap:
gk::IDrawable gk::Transformable

Public Member Functions

 Tilemap (u16 width, u16 height, Tileset &tileset, const std::vector< std::vector< u16 >> &data)
 
void reset ()
 
void update ()
 
void updateTiles ()
 
u16 getTile (u16 tileX, u16 tileY, u8 layer=0)
 
void setTile (u16 tileX, u16 tileY, u16 id, bool write=true, bool persistent=false)
 
bool inTile (float x, float y, u16 tileID)
 
u16 width () const
 
u16 height () const
 
u8 layerCount () const
 
Tilesettileset ()
 
void setTilesetOffset (u16 tilesetOffset)
 
- Public Member Functions inherited from gk::IDrawable
virtual ~IDrawable ()=default
 Virtual destructor. More...
 
- Public Member Functions inherited from gk::Transformable
virtual ~Transformable ()=default
 
void setPosition (float x, float y, float z=0)
 
void setPosition (const Vector3f &position)
 
void setOrigin (float x, float y, float z=0)
 
void setOrigin (const Vector3f &origin)
 
void setScale (float factorX, float factorY, float factorZ=1)
 
void setScale (const Vector3f &factors)
 
void setRotation (float angle)
 
void setRotation (float angle, const Vector3f &axis)
 
const Vector3fgetPosition () const
 
const Vector3fgetOrigin () const
 
const Vector3fgetScale () const
 
float getRotation () const
 
void move (float offsetX, float offsetY, float offsetZ=0)
 
void move (const Vector3f &offset)
 
void scale (float factorX, float factorY, float factorZ=1)
 
void scale (const Vector3f &factor)
 
void rotate (float angle)
 
void rotate (float angle, const Vector3f &axis)
 
const TransformgetTransform () const
 

Protected Member Functions

void draw (gk::RenderTarget &target, gk::RenderStates states) const override
 Draw the object to a render target. More...
 

Private Attributes

Tilesetm_tileset
 
u16 m_tilesetOffset = 0
 
u16 m_width = 0
 
u16 m_height = 0
 
std::vector< std::vector< u16 > > m_baseData
 
std::vector< std::vector< u16 > > m_data
 
TilemapAnimator m_animator
 
TilemapRenderer m_renderer
 

Detailed Description

Definition at line 24 of file Tilemap.hpp.

Constructor & Destructor Documentation

§ Tilemap()

gk::Tilemap::Tilemap ( u16  width,
u16  height,
Tileset tileset,
const std::vector< std::vector< u16 >> &  data 
)

Definition at line 21 of file Tilemap.cpp.

Member Function Documentation

§ draw()

void gk::Tilemap::draw ( gk::RenderTarget target,
gk::RenderStates  states 
) const
overrideprotectedvirtual

Draw the object to a render target.

This is a pure virtual function that has to be implemented by the derived class to define how the drawable should be drawn.

Parameters
targetRender target to draw to
statesCurrent render states

Implements gk::IDrawable.

Definition at line 42 of file Tilemap.cpp.

§ getTile()

u16 gk::Tilemap::getTile ( u16  tileX,
u16  tileY,
u8  layer = 0 
)

Definition at line 60 of file Tilemap.cpp.

§ height()

u16 gk::Tilemap::height ( ) const
inline

Definition at line 40 of file Tilemap.hpp.

§ inTile()

bool gk::Tilemap::inTile ( float  x,
float  y,
u16  tileID 
)

Definition at line 78 of file Tilemap.cpp.

§ layerCount()

u8 gk::Tilemap::layerCount ( ) const
inline

Definition at line 42 of file Tilemap.hpp.

§ reset()

void gk::Tilemap::reset ( )

Definition at line 34 of file Tilemap.cpp.

§ setTile()

void gk::Tilemap::setTile ( u16  tileX,
u16  tileY,
u16  id,
bool  write = true,
bool  persistent = false 
)

Definition at line 68 of file Tilemap.cpp.

§ setTilesetOffset()

void gk::Tilemap::setTilesetOffset ( u16  tilesetOffset)
inline

Definition at line 45 of file Tilemap.hpp.

§ tileset()

Tileset& gk::Tilemap::tileset ( )
inline

Definition at line 44 of file Tilemap.hpp.

§ update()

void gk::Tilemap::update ( )

Definition at line 38 of file Tilemap.cpp.

§ updateTiles()

void gk::Tilemap::updateTiles ( )

Definition at line 48 of file Tilemap.cpp.

§ width()

u16 gk::Tilemap::width ( ) const
inline

Definition at line 39 of file Tilemap.hpp.

Member Data Documentation

§ m_animator

TilemapAnimator gk::Tilemap::m_animator
private

Definition at line 60 of file Tilemap.hpp.

§ m_baseData

std::vector<std::vector<u16> > gk::Tilemap::m_baseData
private

Definition at line 57 of file Tilemap.hpp.

§ m_data

std::vector<std::vector<u16> > gk::Tilemap::m_data
private

Definition at line 58 of file Tilemap.hpp.

§ m_height

u16 gk::Tilemap::m_height = 0
private

Definition at line 55 of file Tilemap.hpp.

§ m_renderer

TilemapRenderer gk::Tilemap::m_renderer
private

Definition at line 61 of file Tilemap.hpp.

§ m_tileset

Tileset& gk::Tilemap::m_tileset
private

Definition at line 51 of file Tilemap.hpp.

§ m_tilesetOffset

u16 gk::Tilemap::m_tilesetOffset = 0
private

Definition at line 52 of file Tilemap.hpp.

§ m_width

u16 gk::Tilemap::m_width = 0
private

Definition at line 54 of file Tilemap.hpp.


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