1#ifndef YAZE_APP_EDITOR_DUNGEON_DUNGEON_ROOM_SELECTOR_H
2#define YAZE_APP_EDITOR_DUNGEON_DUNGEON_ROOM_SELECTOR_H
11#include "imgui/imgui.h"
93 [[deprecated(
"Use SetRoomSelectedCallback() instead")]]
void
108 [[deprecated(
"Use SetEntranceSelectedCallback() instead")]]
void
126 std::array<zelda3::RoomEntrance, zelda3::kNumDungeonEntranceSlots>*
168 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.
std::string last_entrance_filter_
std::string last_room_filter_
int pending_scroll_room_id_
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_entrances(std::array< zelda3::RoomEntrance, zelda3::kNumDungeonEntranceSlots > *entrances)
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::vector< int > filtered_room_indices_
void SetContext(EditorContext ctx)
std::array< zelda3::RoomEntrance, zelda3::kNumDungeonEntranceSlots > * entrances_
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_
const project::YazeProject * project_
static const char * GetBlocksetGroupName(uint8_t blockset)
void SetProject(const project::YazeProject *project)
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_
Dungeon Room Entrance or Spawn Point.
RoomSelectionIntent
Intent for room selection in the dungeon editor.
constexpr int kNumDungeonEntranceSlots
Lightweight view into the essential runtime context (Rom + GameData)
zelda3::GameData * game_data
Modern project structure with comprehensive settings consolidation.