79 lines
1.2 KiB
C++
79 lines
1.2 KiB
C++
#include "tile.h"
|
|
|
|
#include "general.h"
|
|
#include "GFXframework.h"
|
|
|
|
Tile::Tile()
|
|
{
|
|
m_Revealed = false;
|
|
m_Flagged = false;
|
|
}
|
|
|
|
Tile::~Tile()
|
|
{
|
|
}
|
|
|
|
|
|
void Tile::SetSpritePosition(int x, int y)
|
|
{
|
|
|
|
m_PosX = x;
|
|
m_PosY = y;
|
|
}
|
|
|
|
void Tile::Render()
|
|
{
|
|
if (!m_Flagged)
|
|
{
|
|
if (m_Revealed)
|
|
{
|
|
GFXframework::GetInstance()->DisplaySpriteAt(m_Type, m_PosX, m_PosY);
|
|
}
|
|
else
|
|
{
|
|
GFXframework::GetInstance()->DisplaySpriteAt(GROUND, m_PosX, m_PosY);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
GFXframework::GetInstance()->DisplaySpriteAt(FLAG, m_PosX, m_PosY);
|
|
}
|
|
}
|
|
|
|
bool Tile::TestClick(int x, int y)
|
|
{
|
|
if ( x > m_PosX && x <= m_PosX + TILE_SIZE_X &&
|
|
y > m_PosY && y <= m_PosY + TILE_SIZE_Y)
|
|
{
|
|
if (!m_Revealed && !m_Flagged)
|
|
{
|
|
m_Revealed = true;
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
bool Tile::TestRightClick(int x, int y)
|
|
{
|
|
if ( x > m_PosX && x <= m_PosX + TILE_SIZE_X &&
|
|
y > m_PosY && y <= m_PosY + TILE_SIZE_Y)
|
|
{
|
|
if (!m_Revealed)
|
|
{
|
|
m_Flagged = !m_Flagged;
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
bool Tile::TestPosition(int x, int y)
|
|
{
|
|
if ( x > m_PosX && x <= m_PosX + TILE_SIZE_X &&
|
|
y > m_PosY && y <= m_PosY + TILE_SIZE_Y)
|
|
{
|
|
return true;
|
|
}
|
|
return false;
|
|
} |