const auto& instead of copying.

This commit is contained in:
2025-01-17 23:33:59 -05:00
parent ac54243e4f
commit e77304cac2
3 changed files with 11 additions and 10 deletions

View File

@@ -46,7 +46,7 @@ namespace CaveGame::Client {
void LocalWorld::CheckCachedChunkSprites()
{
for (auto [chunk_pos, chunk] : loaded_chunks) {
for (auto& [chunk_pos, chunk] : loaded_chunks) {
if (IsChunkCellWithinViewport(chunk_pos))
{
// No rendertarget for this chunk.
@@ -166,7 +166,7 @@ namespace CaveGame::Client {
// Draw the cached RenderTargets for our chunks.
for (auto[chunk_pos, chunk] : loaded_chunks)
for (const auto& [chunk_pos, chunk] : loaded_chunks)
{
if (IsChunkCellWithinViewport(chunk_pos))
RenderChunk(chunk_pos);
@@ -239,7 +239,7 @@ namespace CaveGame::Client {
t_id = chunk->GetTile(x, y);
Vector2 relative_tile_coords = Vector2(x, y);
Vector2 tile_coords = relative_tile_coords;
const Vector2& tile_coords = relative_tile_coords;
#ifdef DEBUG_TILE_UPDATES

View File

@@ -98,9 +98,9 @@ namespace CaveGame::Core
void DoForcedTileTicks();
void DoRandomTileTick(const Vector2 coords, Chunk* chunk);
void DoRandomTileTick(const Vector2& coords, Chunk* chunk);
void DoForcedTileTick(const Vector2 coords, Chunk* chunk);
void DoForcedTileTick(const Vector2& coords, Chunk* chunk);
virtual void Update(float elapsed);
@@ -146,7 +146,7 @@ namespace CaveGame::Core
protected:
std::vector<Entity*> entities;
const std::filesystem::path worlds {"worlds"};
std::unordered_map<Vector2, Chunk*> loaded_chunks; // TODO: Consider pointers.
std::unordered_map<Vector2, Chunk*> loaded_chunks;
Generator generator;
float time_of_day;
std::string world_name;

View File

@@ -28,7 +28,7 @@ namespace CaveGame::Core
if (tile_ticc_counter > 1.f / TileTiccRate) {
tile_ticc_counter -= 1.f / TileTiccRate;
for (auto [coords, chunk] : loaded_chunks) {
for (const auto& [coords, chunk] : loaded_chunks) {
DoRandomTileTick(coords, chunk);
DoForcedTileTick(coords, chunk);
@@ -132,9 +132,10 @@ namespace CaveGame::Core
simulate_tiles = enabled;
}
Chunk* World::GetChunkAtCell(const Vector2 &cell) {
Chunk* World::GetChunkAtCell(const Vector2& cell) {
if (ValidCoords(cell))
return loaded_chunks.at(cell);
return nullptr;
}
bool World::ValidCoords(const Vector2& cell) const {
@@ -476,7 +477,7 @@ namespace CaveGame::Core
Logs::Info("Saving successful!");
}
void World::DoRandomTileTick(const Vector2 coords, Chunk *chunk) {
void World::DoRandomTileTick(const Vector2& coords, Chunk *chunk) {
Tile* tile = nullptr;
int max_tries = RandomTileTickCoefficient*5;
@@ -508,7 +509,7 @@ namespace CaveGame::Core
}
}
void World::DoForcedTileTick(const Vector2 coords, Chunk *chunk) {
void World::DoForcedTileTick(const Vector2& coords, Chunk *chunk) {
Tile* tile = nullptr;
chunk->SwapTileUpdateBuffers();