1#ifndef YAZE_APP_EDITOR_DUNGEON_DUNGEON_ROOM_SELECTOR_H
2#define YAZE_APP_EDITOR_DUNGEON_DUNGEON_ROOM_SELECTOR_H
10#include "imgui/imgui.h"
80 [[deprecated(
"Use SetRoomSelectedCallback() instead")]]
95 [[deprecated(
"Use SetEntranceSelectedCallback() instead")]]
111 std::array<zelda3::RoomEntrance, 0x8C>*
entrances_ =
nullptr;
152 bool show_room_id_input);
The Rom class is used to load, save, and modify Rom data. This is a generic SNES ROM container and do...
Handles room and entrance selection UI.
void set_entrances(std::array< zelda3::RoomEntrance, 0x8C > *entrances)
std::string last_entrance_filter_
std::string last_room_filter_
void DrawEntranceSelectorInternal(bool show_properties)
void SetRoomSelectedWithIntentCallback(std::function< void(int, RoomSelectionIntent)> callback)
void RebuildRoomFilterCache()
void set_entrance_selected_callback(std::function< void(int)> callback)
zelda3::GameData * game_data_
int current_room_id() const
void DrawGroupedRoomList(RoomSelectionIntent single_click_intent)
void RebuildEntranceFilterCache()
void SetGameData(zelda3::GameData *game_data)
void SetEntranceSelectedCallback(std::function< void(int)> callback)
const ImVector< int > & active_rooms() const
EditorContext context() const
void set_current_room_id(uint16_t room_id)
DungeonRoomStore * rooms_
void DrawRoomSelectorInternal(RoomSelectionIntent single_click_intent, bool show_room_id_input)
void set_current_entrance_id(int entrance_id)
void set_rooms(DungeonRoomStore *rooms)
ImVector< int > & mutable_active_rooms()
EntityTypeFilter entity_type_filter_
void set_room_selected_callback(std::function< void(int)> callback)
void DrawRoomSelector(RoomSelectionIntent single_click_intent=RoomSelectionIntent::kFocusInWorkbench)
DungeonRoomSelector(Rom *rom=nullptr)
std::array< zelda3::RoomEntrance, 0x8C > * entrances_
std::vector< int > filtered_room_indices_
void SetContext(EditorContext ctx)
int current_entrance_id() const
uint16_t current_room_id_
void DrawRoomBrowser(RoomSelectionIntent single_click_intent=RoomSelectionIntent::kFocusInWorkbench)
std::vector< int > filtered_entrance_indices_
bool PassesEntityTypeFilter(int room_id) const
void DrawEntranceSelector()
void DrawEntranceBrowser()
ImGuiTextFilter entrance_filter_
std::function< void(int)> room_selected_callback_
void SetRoomSelectedCallback(std::function< void(int)> callback)
std::function< void(int, RoomSelectionIntent)> room_intent_callback_
static const char * GetBlocksetGroupName(uint8_t blockset)
ImGuiTextFilter room_filter_
void set_active_rooms(const ImVector< int > &rooms)
zelda3::GameData * game_data() const
std::function< void(int)> entrance_selected_callback_
ImVector< int > active_rooms_
RoomSelectionIntent
Intent for room selection in the dungeon editor.
Lightweight view into the essential runtime context (Rom + GameData)
zelda3::GameData * game_data