refactor: Remove const references for position parameters in tile and biome accessors
Signed-off-by: szdytom <szdytom@qq.com>
This commit is contained in:
parent
416eabd31f
commit
ebdbf62a19
@ -25,9 +25,9 @@ public:
|
||||
Chunk& get_chunk(std::uint8_t chunk_x, std::uint8_t chunk_y);
|
||||
const Chunk& get_chunk(std::uint8_t chunk_x, std::uint8_t chunk_y) const;
|
||||
|
||||
Tile& get_tile(const TilePos& pos);
|
||||
const Tile& get_tile(const TilePos& pos) const;
|
||||
void set_tile(const TilePos& pos, const Tile& tile);
|
||||
Tile& get_tile(TilePos pos);
|
||||
const Tile& get_tile(TilePos pos) const;
|
||||
void set_tile(TilePos pos, const Tile& tile);
|
||||
};
|
||||
```
|
||||
|
||||
@ -48,8 +48,8 @@ struct Chunk {
|
||||
BiomeType biome[subchunk_count][subchunk_count]; // Sub-chunk biomes
|
||||
|
||||
// Get biome for a specific sub-chunk position
|
||||
BiomeType& get_biome(const SubChunkPos& pos);
|
||||
const BiomeType& get_biome(const SubChunkPos& pos) const;
|
||||
BiomeType& get_biome(SubChunkPos pos);
|
||||
const BiomeType& get_biome(SubChunkPos pos) const;
|
||||
};
|
||||
```
|
||||
|
||||
@ -102,7 +102,7 @@ struct SubChunkPos {
|
||||
};
|
||||
|
||||
std::pair<std::uint8_t, std::uint8_t> subchunk_to_tile_start(
|
||||
const SubChunkPos& pos
|
||||
SubChunkPos pos
|
||||
);
|
||||
```
|
||||
|
||||
|
@ -42,20 +42,18 @@ struct Chunk {
|
||||
BiomeType biome[subchunk_count][subchunk_count];
|
||||
|
||||
// Get biome for a specific sub-chunk position
|
||||
BiomeType &get_biome(const SubChunkPos &pos) {
|
||||
BiomeType &get_biome(SubChunkPos pos) {
|
||||
return biome[pos.sub_x][pos.sub_y];
|
||||
}
|
||||
|
||||
// Get biome for a specific sub-chunk position (const version)
|
||||
const BiomeType &get_biome(const SubChunkPos &pos) const {
|
||||
const BiomeType &get_biome(SubChunkPos pos) const {
|
||||
return biome[pos.sub_x][pos.sub_y];
|
||||
}
|
||||
};
|
||||
|
||||
// Get the starting tile coordinates for a sub-chunk
|
||||
std::pair<std::uint8_t, std::uint8_t> subchunk_to_tile_start(
|
||||
const SubChunkPos &pos
|
||||
);
|
||||
std::pair<std::uint8_t, std::uint8_t> subchunk_to_tile_start(SubChunkPos pos);
|
||||
|
||||
} // namespace istd
|
||||
|
||||
|
@ -85,7 +85,7 @@ private:
|
||||
*/
|
||||
void generate_subchunk(
|
||||
TileMap &tilemap, std::uint8_t chunk_x, std::uint8_t chunk_y,
|
||||
const SubChunkPos &sub_pos, BiomeType biome
|
||||
SubChunkPos sub_pos, BiomeType biome
|
||||
);
|
||||
|
||||
/**
|
||||
|
@ -38,15 +38,15 @@ public:
|
||||
* @brief Get a tile at the given position
|
||||
* @param pos The position of the tile
|
||||
*/
|
||||
Tile &get_tile(const TilePos &pos);
|
||||
const Tile &get_tile(const TilePos &pos) const;
|
||||
Tile &get_tile(TilePos pos);
|
||||
const Tile &get_tile(TilePos pos) const;
|
||||
|
||||
/**
|
||||
* @brief Set a tile at the given position
|
||||
* @param pos The position of the tile
|
||||
* @param tile The tile to set
|
||||
*/
|
||||
void set_tile(const TilePos &pos, const Tile &tile);
|
||||
void set_tile(TilePos pos, const Tile &tile);
|
||||
};
|
||||
|
||||
} // namespace istd
|
||||
|
@ -2,9 +2,7 @@
|
||||
|
||||
namespace istd {
|
||||
|
||||
std::pair<std::uint8_t, std::uint8_t> subchunk_to_tile_start(
|
||||
const SubChunkPos &pos
|
||||
) {
|
||||
std::pair<std::uint8_t, std::uint8_t> subchunk_to_tile_start(SubChunkPos pos) {
|
||||
// Convert sub-chunk position to tile start coordinates
|
||||
return {pos.sub_x * Chunk::subchunk_size, pos.sub_y * Chunk::subchunk_size};
|
||||
}
|
||||
|
@ -82,7 +82,7 @@ void TerrainGenerator::generate_chunk(
|
||||
|
||||
void TerrainGenerator::generate_subchunk(
|
||||
TileMap &tilemap, std::uint8_t chunk_x, std::uint8_t chunk_y,
|
||||
const SubChunkPos &sub_pos, BiomeType biome
|
||||
SubChunkPos sub_pos, BiomeType biome
|
||||
) {
|
||||
const BiomeProperties &properties = get_biome_properties(biome);
|
||||
|
||||
|
@ -31,7 +31,7 @@ const Chunk &TileMap::get_chunk(
|
||||
return chunks_[chunk_x][chunk_y];
|
||||
}
|
||||
|
||||
Tile &TileMap::get_tile(const TilePos &pos) {
|
||||
Tile &TileMap::get_tile(TilePos pos) {
|
||||
if (pos.chunk_x >= size_ || pos.chunk_y >= size_) {
|
||||
throw std::out_of_range("Chunk coordinates out of bounds");
|
||||
}
|
||||
@ -41,7 +41,7 @@ Tile &TileMap::get_tile(const TilePos &pos) {
|
||||
return chunks_[pos.chunk_x][pos.chunk_y].tiles[pos.local_x][pos.local_y];
|
||||
}
|
||||
|
||||
const Tile &TileMap::get_tile(const TilePos &pos) const {
|
||||
const Tile &TileMap::get_tile(TilePos pos) const {
|
||||
if (pos.chunk_x >= size_ || pos.chunk_y >= size_) {
|
||||
throw std::out_of_range("Chunk coordinates out of bounds");
|
||||
}
|
||||
@ -51,7 +51,7 @@ const Tile &TileMap::get_tile(const TilePos &pos) const {
|
||||
return chunks_[pos.chunk_x][pos.chunk_y].tiles[pos.local_x][pos.local_y];
|
||||
}
|
||||
|
||||
void TileMap::set_tile(const TilePos &pos, const Tile &tile) {
|
||||
void TileMap::set_tile(TilePos pos, const Tile &tile) {
|
||||
if (pos.chunk_x >= size_ || pos.chunk_y >= size_) {
|
||||
throw std::out_of_range("Chunk coordinates out of bounds");
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user