#pragma once

#include "GameCore.h"
#include "Stamp.h"

class TileStamp : public Stamp
{
public:
	TileStamp( int textureId, int totalWidth, int totalHeight, int tileX, int tileY );
	~TileStamp(void);

	// getter setter for center
	D3DXVECTOR3* getCenter();
	void         setCenter( D3DXVECTOR3* newCenter );
	// getter setter for modulation color
	D3DCOLOR     getModulationColor();
	void         setModulationColor( D3DCOLOR newColor );
	// getter setter for clipping rect
	RECT*        getClippingRect();
	void         setClippingRect( RECT* clippingRect );
	// getter setter for texture
	int          getTextureId();
	void         setTextureId( int newId );
	// getter setter for total width
	int          getTotalWidth();
	void         setTotalWidth( int totalWidth );
	// getter setter for total height
	int          getTotalHeight();
	void         setTotalHeight( int totalHeight );
	// getter setter for tile x offset
	int			 getTileXOffset();
	void		 setTileXOffset( int newOffset );
	// getter setter for tile y offset
	int			 getTileYOffset();
	void		 setTileYOffset( int newOffset );
	// clone the sprite stamp
	TileStamp* clone();
	// be able to tell which kind of stamp
	Stamp::STAMP_TYPE getStampType();
protected:
	int			 tileX;			   // x tile position
	int			 tileY;		       // y tile position
};

