Skip to content

srcs__world__world_cpp

Ishi_eenn edited this page May 19, 2026 · 2 revisions

srcs/world/world.cpp

役割

ロード済みチャンクの所有、ワールド座標でのブロック取得/更新、水流シミュレーションを担当する。

関数一覧

  • World::World: 行 27-29
  • World::setSeed: 行 31-34
  • World::floorDiv: 行 42-44
  • World::worldToChunk: 行 47-49
  • World::isSolidBlock: 行 52-54
  • World::inChunkRange: 行 57-60
  • World::isWaterBlock: 行 63-65
  • World::canFlowInto: 行 68-71
  • World::isSourceWater: 行 74-77
  • World::isFlowingWater: 行 81-86
  • World::activateWaterAt: 行 91-94
  • World::activateWaterNeighborhood: 行 97-105
  • World::setExistingWorldBlock: 行 112-126
  • World::getWorldBlock: 行 133-142
  • World::setWorldBlock: 行 149-177
  • World::getChunk: 行 182-186
  • World::registerChunk: 行 194-217
  • World::unregisterChunk: 行 223-236
  • World::getOrCreateChunk: 行 244-253

関数ごとの説明

World::World

  • 場所: 行 27-29
  • シグネチャ: World::World(uint32_t seed)
  • 内容: このファイルの責務に沿った補助処理を行う。
  • 主な呼び出し: World(), setSeed()

World::setSeed

  • 場所: 行 31-34
  • シグネチャ: void World::setSeed(uint32_t seed)
  • 内容: 内部状態や対象データに新しい値を設定する。
  • 主な呼び出し: setSeed()

World::floorDiv

  • 場所: 行 42-44
  • シグネチャ: int World::floorDiv(int a, int b)
  • 内容: このファイルの責務に沿った補助処理を行う。
  • 主な呼び出し: floorDiv(), floor()

World::worldToChunk

  • 場所: 行 47-49
  • シグネチャ: ChunkPos World::worldToChunk(int wx, int wz)
  • 内容: このファイルの責務に沿った補助処理を行う。
  • 主な呼び出し: worldToChunk(), floorDiv()

World::isSolidBlock

  • 場所: 行 52-54
  • シグネチャ: bool World::isSolidBlock(BlockType type) const
  • 内容: 条件を判定し、呼び出し元が処理を続けるべきか判断できるようにする。
  • 主な呼び出し: isSolidBlock()

World::inChunkRange

  • 場所: 行 57-60
  • シグネチャ: bool World::inChunkRange(ChunkPos pos, ChunkPos min_chunk, ChunkPos max_chunk) const
  • 内容: このファイルの責務に沿った補助処理を行う。
  • 主な呼び出し: inChunkRange()

World::isWaterBlock

  • 場所: 行 63-65
  • シグネチャ: bool World::isWaterBlock(int wx, int wy, int wz) const
  • 内容: 条件を判定し、呼び出し元が処理を続けるべきか判断できるようにする。
  • 主な呼び出し: isWaterBlock(), getWorldBlock()

World::canFlowInto

  • 場所: 行 68-71
  • シグネチャ: bool World::canFlowInto(int wx, int wy, int wz) const
  • 内容: 条件を判定し、呼び出し元が処理を続けるべきか判断できるようにする。
  • 主な呼び出し: canFlowInto(), getWorldBlock()

World::isSourceWater

  • 場所: 行 74-77
  • シグネチャ: bool World::isSourceWater(int wx, int wy, int wz) const
  • 内容: 条件を判定し、呼び出し元が処理を続けるべきか判断できるようにする。
  • 主な呼び出し: isSourceWater(), getWorldBlock(), find(), end()

World::isFlowingWater

  • 場所: 行 81-86
  • シグネチャ: bool World::isFlowingWater(int wx, int wy, int wz, uint8_t* level_out) const
  • 内容: 条件を判定し、呼び出し元が処理を続けるべきか判断できるようにする。
  • 主な呼び出し: isFlowingWater(), find(), end()

World::activateWaterAt

  • 場所: 行 91-94
  • シグネチャ: void World::activateWaterAt(int wx, int wy, int wz)
  • 内容: このファイルの責務に沿った補助処理を行う。
  • 主な呼び出し: activateWaterAt(), insert()

World::activateWaterNeighborhood

  • 場所: 行 97-105
  • シグネチャ: void World::activateWaterNeighborhood(int wx, int wy, int wz)
  • 内容: このファイルの責務に沿った補助処理を行う。
  • 主な呼び出し: activateWaterNeighborhood(), activateWaterAt()

World::setExistingWorldBlock

  • 場所: 行 112-126
  • シグネチャ: bool World::setExistingWorldBlock(int wx, int wy, int wz, BlockType type)
  • 内容: 内部状態や対象データに新しい値を設定する。
  • 主な呼び出し: setExistingWorldBlock(), worldToChunk(), find(), end(), setBlock(), getWaterLevel(), setWaterLevel()

World::getWorldBlock

  • 場所: 行 133-142
  • シグネチャ: BlockType World::getWorldBlock(int wx, int wy, int wz) const
  • 内容: 内部状態または計算結果を取得して返す。
  • 主な呼び出し: getWorldBlock(), floorDiv(), find(), end(), getBlock()

World::setWorldBlock

  • 場所: 行 149-177
  • シグネチャ: bool World::setWorldBlock(int wx, int wy, int wz, BlockType type)
  • 内容: 内部状態や対象データに新しい値を設定する。
  • 主な呼び出し: setWorldBlock(), getWorldBlock(), setExistingWorldBlock(), erase(), worldToChunk(), find(), end(), setWaterLevel(), activateWaterNeighborhood(), isWaterBlock()

World::getChunk

  • 場所: 行 182-186
  • シグネチャ: Chunk* World::getChunk(ChunkPos pos)
  • 内容: 内部状態または計算結果を取得して返す。
  • 主な呼び出し: getChunk(), find(), end(), get()

World::registerChunk

  • 場所: 行 194-217
  • シグネチャ: Chunk* World::registerChunk(std::unique_ptr<Chunk> chunk)
  • 内容: このファイルの責務に沿った補助処理を行う。
  • 主な呼び出し: registerChunk(), count(), get(), move(), getBlock(), activateWaterAt()

World::unregisterChunk

  • 場所: 行 223-236
  • シグネチャ: void World::unregisterChunk(ChunkPos pos)
  • 内容: このファイルの責務に沿った補助処理を行う。
  • 主な呼び出し: unregisterChunk(), begin(), end(), erase()

World::getOrCreateChunk

  • 場所: 行 244-253
  • シグネチャ: Chunk* World::getOrCreateChunk(ChunkPos pos)
  • 内容: 内部状態または計算結果を取得して返す。
  • 主な呼び出し: getOrCreateChunk(), find(), end(), get(), generate(), registerChunk(), move()

Clone this wiki locally