1#ifndef YAZE_APP_EDITOR_DUNGEON_PANELS_ITEM_EDITOR_PANEL_H_
2#define YAZE_APP_EDITOR_DUNGEON_PANELS_ITEM_EDITOR_PANEL_H_
6#include <unordered_map>
18#include "imgui/imgui.h"
39 std::string
GetId()
const override {
return "dungeon.item_editor"; }
46 void Draw(
bool* p_open)
override;
WindowContent for placing and managing dungeon pot items.
std::string GetIcon() const override
Material Design icon for this panel.
int GetPriority() const override
Get display priority for menu ordering.
uint64_t cached_item_graphics_revision_
void DrawContent(bool show_room_items)
void SetCanvasViewer(DungeonCanvasViewer *viewer)
void SetOpenSelectionInspectorCallback(std::function< void()> callback)
std::unordered_map< uint8_t, CachedItemPreview > item_preview_cache_
bool HasMatchingViewer() const
std::function< void(const zelda3::PotItem &) item_placed_callback_)
std::string GetEditorCategory() const override
Editor category this panel belongs to.
void DrawPlacementControls()
std::string GetId() const override
Unique identifier for this panel.
void DrawItemSelector(bool show_room_items)
DungeonCanvasViewer * canvas_viewer_
const char * GetItemTypeIcon(int item_id) const
void SetItemPlacedCallback(std::function< void(const zelda3::PotItem &)> callback)
std::string GetDisplayName() const override
Human-readable name shown in menus and title bars.
ImVec4 GetItemTypeColor(int item_id, const AgentUITheme &theme) const
workbench::DungeonBrowserState browser_state_
const CachedItemPreview & GetOrCreateItemPreview(uint8_t item_id, const zelda3::Room &room)
std::function< void()> open_selection_inspector_callback_
std::string GetWorkflowGroup() const override
Optional workflow group for hack-centric actions.
ItemEditorPanel(int *current_room_id, DungeonRoomStore *rooms, DungeonCanvasViewer *canvas_viewer=nullptr)
void Draw(bool *p_open) override
Draw the panel content.
DungeonRoomStore * rooms_
Base interface for all logical window content components.
#define ICON_MD_INVENTORY
Centralized theme colors for Agent UI components.
std::vector< uint8_t > pixels