1#ifndef YAZE_APP_EDITOR_DUNGEON_DUNGEON_ROOM_SELECTOR_H
2#define YAZE_APP_EDITOR_DUNGEON_DUNGEON_ROOM_SELECTOR_H
9#include "imgui/imgui.h"
76 [[deprecated(
"Use SetRoomSelectedCallback() instead")]]
91 [[deprecated(
"Use SetEntranceSelectedCallback() instead")]]
106 std::array<zelda3::Room, 0x128>*
rooms_ =
nullptr;
107 std::array<zelda3::RoomEntrance, 0x8C>*
entrances_ =
nullptr;
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 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)
void set_current_entrance_id(int entrance_id)
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_
std::vector< int > filtered_entrance_indices_
bool PassesEntityTypeFilter(int room_id) const
void DrawEntranceSelector()
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_
std::array< zelda3::Room, 0x128 > * rooms_
void set_active_rooms(const ImVector< int > &rooms)
zelda3::GameData * game_data() const
std::function< void(int)> entrance_selected_callback_
ImVector< int > active_rooms_
void set_rooms(std::array< zelda3::Room, 0x128 > *rooms)
RoomSelectionIntent
Intent for room selection in the dungeon editor.
Lightweight view into the essential runtime context (Rom + GameData)
zelda3::GameData * game_data