const auto& instead of copying.
This commit is contained in:
@@ -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
|
||||
|
@@ -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;
|
||||
|
@@ -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();
|
||||
|
Reference in New Issue
Block a user