Added inheritance for the screen system
basic edge detection for tile rendering
This commit is contained in:
@@ -39,8 +39,8 @@ WorldLevel::WorldLevel(Camera* camera, Rectf viewport): Level(camera),
|
||||
default:
|
||||
std::cout << "??" << '\n';
|
||||
}
|
||||
|
||||
m_gridManager.SetTileAtIndex(x, y, new WorldTile { pos, type, TextureManager::GetInstance() });
|
||||
|
||||
m_gridManager.SetTileAtIndex(x, y, new WorldTile { pos, Tiles::DIRT, TextureManager::GetInstance(), &m_gridManager});
|
||||
}
|
||||
}
|
||||
for (size_t x { 0 }; x < WORLD_WIDTH; ++x) {
|
||||
@@ -64,8 +64,10 @@ void WorldLevel::Update(float elapsedSec) {
|
||||
|
||||
for (size_t x { 0 }; x < WORLD_WIDTH; ++x) {
|
||||
for (size_t y { 0 }; y < WORLD_HEIGHT; ++y) {
|
||||
m_gridManager.GetTileAtIndex(x, y)->m_Hightlight = false;
|
||||
if (m_gridManager.GetTileAtIndex(x, y)->GetCollisionRect().Contains(m_mousePos)) {
|
||||
selectedTile = m_gridManager.GetTileAtIndex(x, y);
|
||||
selectedTile->m_Hightlight = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -75,12 +77,18 @@ void WorldLevel::Update(float elapsedSec) {
|
||||
}
|
||||
}
|
||||
|
||||
m_player.Update(elapsedSec, *this);
|
||||
|
||||
WorldTile* t = m_gridManager.GetTileAtWorldPos(m_mousePos);
|
||||
if (t != nullptr) {
|
||||
t->SetTileType(Tiles::AIR);
|
||||
//Get the diogonal tiles of the selected tile
|
||||
if(selectedTile != nullptr) {
|
||||
std::vector<WorldTile*> surroundingTiles = m_gridManager.GetSurroundingTiles(selectedTile);
|
||||
for (WorldTile* tile : surroundingTiles) {
|
||||
if (tile != nullptr) {
|
||||
tile->m_Hightlight = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//m_player.Update(elapsedSec, *this);
|
||||
|
||||
Screen* screen = m_screenManager->GetCurrentScreen();
|
||||
if (screen != nullptr) {
|
||||
|
||||
Reference in New Issue
Block a user