#include <dungeon_room_store.h>

Public Member Functions | |
| DungeonRoomStore ()=default | |
| DungeonRoomStore (Rom *rom, zelda3::GameData *game_data=nullptr) | |
| size_t | size () const |
| zelda3::Room & | operator[] (size_t index) |
| const zelda3::Room & | operator[] (size_t index) const |
| zelda3::Room * | GetIfMaterialized (int room_id) |
| const zelda3::Room * | GetIfMaterialized (int room_id) const |
| zelda3::Room * | GetIfLoaded (int room_id) |
| const zelda3::Room * | GetIfLoaded (int room_id) const |
| void | SetRom (Rom *rom) |
| void | SetGameData (zelda3::GameData *game_data) |
| Rom * | rom () const |
| zelda3::GameData * | game_data () const |
| void | Clear () |
| template<typename Fn > | |
| void | ForEachMaterialized (Fn &&fn) |
| template<typename Fn > | |
| void | ForEachMaterialized (Fn &&fn) const |
| template<typename Fn > | |
| void | ForEachLoaded (Fn &&fn) |
| template<typename Fn > | |
| void | ForEachLoaded (Fn &&fn) const |
| int | LoadedCount () const |
Static Public Attributes | |
| static constexpr size_t | kRoomCount = zelda3::kNumberOfRooms |
Private Member Functions | |
| zelda3::Room & | EnsureRoom (size_t index) const |
Private Attributes | |
| Rom * | rom_ = nullptr |
| zelda3::GameData * | game_data_ = nullptr |
| std::array< std::unique_ptr< zelda3::Room >, kRoomCount > | rooms_ |
Definition at line 14 of file dungeon_room_store.h.
|
default |
|
inlineexplicit |
Definition at line 19 of file dungeon_room_store.h.
|
inline |
Definition at line 22 of file dungeon_room_store.h.
References kRoomCount.
Referenced by yaze::editor::ObjectTileEditorPanel::ApplyChanges(), yaze::editor::DungeonStatusBar::BuildState(), yaze::editor::DungeonUsageTracker::CalculateUsageStats(), yaze::editor::CustomCollisionPanel::CollectRoomEntries(), yaze::editor::WaterFillPanel::CollectZones(), yaze::editor::ChestEditorPanel::Draw(), yaze::editor::ItemEditorPanel::Draw(), yaze::editor::SpriteEditorPanel::Draw(), yaze::editor::RoomGraphicsContent::Draw(), yaze::editor::DungeonRoomSelector::DrawGroupedRoomList(), yaze::editor::RoomTagEditorPanel::DrawQuickAssign(), yaze::editor::DungeonObjectSelector::GetOrCreatePreview(), yaze::editor::TileObjectHandler::GetRoom(), yaze::editor::DungeonEditorV2::Load(), yaze::editor::DungeonEditorV2::OnRoomSelected(), yaze::editor::DungeonEditorV2::OnRoomSelected(), yaze::editor::ObjectTileEditorPanel::OpenForObject(), yaze::editor::DungeonEditorV2::OpenGraphicsEditorForObject(), yaze::editor::DungeonRoomSelector::PassesEntityTypeFilter(), yaze::editor::MinecartTrackEditorPanel::RebuildAuditCache(), yaze::editor::RoomTagEditorPanel::RebuildRoomCountCache(), yaze::editor::DungeonRoomLoader::ReloadAllRoomGraphics(), yaze::test::DungeonEditorTestSuite::RunObjectManipulationTest(), yaze::editor::DungeonEditorV2::Save(), yaze::editor::DungeonEditorV2::SaveRoom(), yaze::editor::DungeonEditorV2::SaveRoomData(), yaze::editor::anonymous_namespace{dungeon_editor_v2.cc}::SaveWaterFillZones(), yaze::editor::DungeonEditorV2::SwapRoomInPanel(), and yaze::editor::DungeonEditorV2::TotalRoomCount().
|
inline |
Definition at line 24 of file dungeon_room_store.h.
References EnsureRoom().

|
inline |
Definition at line 25 of file dungeon_room_store.h.
References EnsureRoom().

|
inline |
Definition at line 29 of file dungeon_room_store.h.
References GetIfMaterialized().
Referenced by GetIfLoaded(), GetIfLoaded(), GetIfMaterialized(), yaze::editor::RoomMatrixContent::GetRoomMetadata(), and yaze::editor::anonymous_namespace{dungeon_editor_v2.cc}::SaveWaterFillZones().

|
inline |
Definition at line 34 of file dungeon_room_store.h.
References kRoomCount, and rooms_.
|
inline |
Definition at line 41 of file dungeon_room_store.h.
References GetIfMaterialized().
Referenced by yaze::editor::DungeonMapPanel::Draw(), yaze::editor::RoomMatrixContent::Draw(), yaze::editor::DungeonRoomSelector::DrawGroupedRoomList(), yaze::editor::DungeonRoomSelector::DrawRoomSelectorInternal(), yaze::editor::RoomMatrixContent::GetRoomColor(), yaze::editor::DungeonRoomSelector::PassesEntityTypeFilter(), and yaze::editor::DungeonRoomLoader::ReloadAllRoomGraphics().

|
inline |
Definition at line 46 of file dungeon_room_store.h.
References GetIfMaterialized().

|
inline |
Definition at line 51 of file dungeon_room_store.h.
References ForEachMaterialized(), rom(), rom_, and yaze::zelda3::Room::SetRom().
Referenced by yaze::editor::DungeonEditorV2::SetRom().

|
inline |
Definition at line 56 of file dungeon_room_store.h.
References ForEachMaterialized(), game_data(), game_data_, and yaze::zelda3::Room::SetGameData().
Referenced by yaze::editor::DungeonRoomLoader::LoadAllRooms(), and yaze::editor::DungeonEditorV2::SetGameData().

|
inline |
Definition at line 62 of file dungeon_room_store.h.
References rom_.
Referenced by yaze::editor::RoomMatrixContent::GetRoomMetadata(), and SetRom().
|
inline |
Definition at line 63 of file dungeon_room_store.h.
References game_data_.
Referenced by SetGameData().
|
inline |
Definition at line 65 of file dungeon_room_store.h.
References rooms_.
|
inline |
Definition at line 72 of file dungeon_room_store.h.
References rooms_.
Referenced by yaze::editor::DungeonEditorV2::CollectWriteRanges(), ForEachLoaded(), ForEachLoaded(), yaze::editor::DungeonEditorV2::Load(), yaze::editor::anonymous_namespace{dungeon_editor_v2.cc}::SaveWaterFillZones(), SetGameData(), and SetRom().
|
inline |
Definition at line 81 of file dungeon_room_store.h.
References rooms_.
|
inline |
Definition at line 90 of file dungeon_room_store.h.
References ForEachMaterialized(), and yaze::zelda3::Room::IsLoaded().
Referenced by yaze::editor::DungeonEditorV2::CollectWriteRanges(), LoadedCount(), and yaze::editor::DungeonEditorV2::Save().

|
inline |
Definition at line 99 of file dungeon_room_store.h.
References ForEachMaterialized(), and yaze::zelda3::Room::IsLoaded().

|
inline |
Definition at line 107 of file dungeon_room_store.h.
References ForEachLoaded().
Referenced by yaze::editor::DungeonEditorV2::LoadedRoomCount().

|
inlineprivate |
Definition at line 114 of file dungeon_room_store.h.
References game_data_, rom_, and rooms_.
Referenced by operator[](), and operator[]().
|
staticconstexpr |
Definition at line 16 of file dungeon_room_store.h.
Referenced by GetIfMaterialized(), yaze::editor::RoomMatrixContent::GetRoomMetadata(), and size().
|
private |
Definition at line 124 of file dungeon_room_store.h.
Referenced by EnsureRoom(), rom(), and SetRom().
|
private |
Definition at line 125 of file dungeon_room_store.h.
Referenced by EnsureRoom(), game_data(), and SetGameData().
|
mutableprivate |
Definition at line 126 of file dungeon_room_store.h.
Referenced by Clear(), EnsureRoom(), ForEachMaterialized(), ForEachMaterialized(), and GetIfMaterialized().