1#ifndef YAZE_APP_EDITOR_DUNGEON_SELECTORS_OBJECT_SELECTOR_CONTENT_H_
2#define YAZE_APP_EDITOR_DUNGEON_SELECTORS_OBJECT_SELECTOR_CONTENT_H_
45 std::shared_ptr<zelda3::DungeonObjectEditor> object_editor =
nullptr,
52 std::string
GetId()
const override {
return "dungeon.object_selector"; }
63 void Draw(
bool* p_open)
override;
The Rom class is used to load, save, and modify Rom data. This is a generic SNES ROM container and do...
Handles object selection, preview, and editing UI.
void set_current_room_id(int room_id)
void SetContext(EditorContext ctx)
void SetGameData(zelda3::GameData *game_data)
void set_rooms(DungeonRoomStore *rooms)
void SetCurrentPaletteGroup(const gfx::PaletteGroup &palette_group)
Browse and place dungeon objects.
float GetPreferredWidth() const override
Get preferred width for this panel (optional)
std::string GetIcon() const override
Material Design icon for this panel.
void SetPlacementError(const std::string &message)
void SetOpenObjectEditorCallback(std::function< void()> callback)
static constexpr double kPlacementErrorDuration
void SetCanvasViewer(DungeonCanvasViewer *viewer)
void DrawObjectSelector()
void SetContext(EditorContext ctx)
std::function< DungeonCanvasViewer *()> canvas_viewer_provider_
void SetCurrentRoom(int room_id)
zelda3::RoomObject preview_object_
DungeonCanvasViewer * ResolveCanvasViewer()
void DrawInteractionSummary()
std::string GetDisplayName() const override
Human-readable name shown in menus and title bars.
void SetRooms(DungeonRoomStore *rooms)
void SetCanvasViewerProvider(std::function< DungeonCanvasViewer *()> provider)
void SetGameData(zelda3::GameData *game_data)
std::shared_ptr< zelda3::DungeonObjectEditor > object_editor_
DungeonObjectSelector & object_selector()
std::function< void()> open_object_editor_callback_
void SetCurrentPaletteGroup(const gfx::PaletteGroup &group)
ObjectSelectorContent(Rom *rom, DungeonCanvasViewer *canvas_viewer, std::shared_ptr< zelda3::DungeonObjectEditor > object_editor=nullptr, ToastManager *toast_manager=nullptr)
std::string GetId() const override
Unique identifier for this panel.
ToastManager * toast_manager_
DungeonCanvasViewer * canvas_viewer_
void OnOpen() override
Called when panel becomes visible.
DungeonObjectSelector object_selector_
void OnClose() override
Called when panel is hidden.
std::string last_placement_error_
std::string GetEditorCategory() const override
Editor category this panel belongs to.
void SelectObject(int obj_id)
int GetPriority() const override
Get display priority for menu ordering.
double placement_error_time_
void Draw(bool *p_open) override
Draw the panel content.
void SetAgentOptimizedLayout(bool enabled)
void SetToastManager(ToastManager *toast_manager)
Base interface for all logical window content components.
#define ICON_MD_CONSTRUCTION
Lightweight view into the essential runtime context (Rom + GameData)
Represents a group of palettes.