EditorPanel for managing chest contents in dungeon rooms. More...
#include <chest_editor_panel.h>


Public Member Functions | |
| ChestEditorPanel (int *current_room_id, std::array< zelda3::Room, 0x128 > *rooms, DungeonCanvasViewer *canvas_viewer=nullptr) | |
| std::string | GetId () const override |
| Unique identifier for this panel. | |
| std::string | GetDisplayName () const override |
| Human-readable name shown in menus and title bars. | |
| std::string | GetIcon () const override |
| Material Design icon for this panel. | |
| std::string | GetEditorCategory () const override |
| Editor category this panel belongs to. | |
| int | GetPriority () const override |
| Get display priority for menu ordering. | |
| void | Draw (bool *p_open) override |
| Draw the panel content. | |
| void | SetCanvasViewer (DungeonCanvasViewer *viewer) |
| void | SetChestModifiedCallback (std::function< void(int, int)> callback) |
Public Member Functions inherited from yaze::editor::EditorPanel | |
| virtual | ~EditorPanel ()=default |
| virtual void | OnFirstDraw () |
| Called once before the first Draw() in a session. | |
| virtual bool | RequiresLazyInit () const |
| Whether this panel uses lazy initialization. | |
| void | InvalidateLazyInit () |
| Reset lazy init state so OnFirstDraw() runs again. | |
| virtual void | OnOpen () |
| Called when panel becomes visible. | |
| virtual void | OnClose () |
| Called when panel is hidden. | |
| virtual void | OnFocus () |
| Called when panel receives focus. | |
| virtual PanelCategory | GetPanelCategory () const |
| Get the lifecycle category for this panel. | |
| virtual PanelContextScope | GetContextScope () const |
| Optional context binding for this panel (room/selection/etc) | |
| virtual PanelScope | GetScope () const |
| Get the registration scope for this panel. | |
| virtual bool | IsEnabled () const |
| Check if this panel is currently enabled. | |
| virtual std::string | GetDisabledTooltip () const |
| Get tooltip text when panel is disabled. | |
| virtual std::string | GetShortcutHint () const |
| Get keyboard shortcut hint for display. | |
| virtual float | GetPreferredWidth () const |
| Get preferred width for this panel (optional) | |
| virtual bool | IsVisibleByDefault () const |
| Whether this panel should be visible by default. | |
| virtual std::string | GetParentPanelId () const |
| Get parent panel ID for cascade behavior. | |
| virtual bool | CascadeCloseChildren () const |
| Whether closing this panel should close child panels. | |
| void | DrawWithLazyInit (bool *p_open) |
| Execute lazy initialization if needed, then call Draw() | |
Private Member Functions | |
| void | DrawChestList () |
| void | DrawChestProperties () |
Private Attributes | |
| int * | current_room_id_ = nullptr |
| std::array< zelda3::Room, 0x128 > * | rooms_ = nullptr |
| DungeonCanvasViewer * | canvas_viewer_ = nullptr |
| int | selected_chest_index_ = -1 |
| std::function< void(int, int)> | chest_modified_callback_ |
Additional Inherited Members | |
Protected Member Functions inherited from yaze::editor::EditorPanel | |
| void | InvalidateCache () |
| Invalidate all cached computations. | |
| template<typename T > | |
| T & | GetCached (const std::string &key, std::function< T()> compute) |
| Get or compute a cached value. | |
| bool | IsCacheValid () const |
| Check if cache has been invalidated. | |
| void | ClearCache () |
| Clear all cached values (more aggressive than InvalidateCache) | |
EditorPanel for managing chest contents in dungeon rooms.
This panel provides chest item editing functionality, similar to ZScream's chest editor. Displays all chests in the current room with their contents and allows editing item type and chest size.
Definition at line 34 of file chest_editor_panel.h.
|
inline |
Definition at line 36 of file chest_editor_panel.h.
|
inlineoverridevirtual |
Unique identifier for this panel.
IDs should be:
Implements yaze::editor::EditorPanel.
Definition at line 47 of file chest_editor_panel.h.
|
inlineoverridevirtual |
Human-readable name shown in menus and title bars.
Implements yaze::editor::EditorPanel.
Definition at line 48 of file chest_editor_panel.h.
|
inlineoverridevirtual |
Material Design icon for this panel.
Implements yaze::editor::EditorPanel.
Definition at line 49 of file chest_editor_panel.h.
References ICON_MD_INVENTORY_2.
|
inlineoverridevirtual |
Editor category this panel belongs to.
Implements yaze::editor::EditorPanel.
Definition at line 50 of file chest_editor_panel.h.
|
inlineoverridevirtual |
Get display priority for menu ordering.
Reimplemented from yaze::editor::EditorPanel.
Definition at line 51 of file chest_editor_panel.h.
|
inlineoverridevirtual |
Draw the panel content.
| p_open | Pointer to visibility flag (nullptr if not closable) |
Called by PanelManager when the panel is visible. Do NOT call ImGui::Begin/End - the PanelWindow wrapper handles that. Just draw your content directly.
Implements yaze::editor::EditorPanel.
Definition at line 57 of file chest_editor_panel.h.
References current_room_id_, DrawChestList(), DrawChestProperties(), and rooms_.

|
inline |
Definition at line 78 of file chest_editor_panel.h.
References canvas_viewer_.
|
inline |
Definition at line 82 of file chest_editor_panel.h.
References chest_modified_callback_.
|
inlineprivate |
Definition at line 87 of file chest_editor_panel.h.
References chest_modified_callback_, current_room_id_, yaze::zelda3::Zelda3Labels::GetItemNames(), yaze::editor::AgentUI::GetTheme(), ICON_MD_ADD, ICON_MD_INFO, ICON_MD_INVENTORY, ICON_MD_INVENTORY_2, ICON_MD_WARNING, and selected_chest_index_.
Referenced by Draw().

|
inlineprivate |
Definition at line 174 of file chest_editor_panel.h.
References chest_modified_callback_, current_room_id_, yaze::zelda3::Zelda3Labels::GetItemNames(), yaze::editor::AgentUI::GetTheme(), ICON_MD_DELETE, ICON_MD_EDIT, ICON_MD_INFO, and selected_chest_index_.
Referenced by Draw().

|
private |
Definition at line 274 of file chest_editor_panel.h.
Referenced by Draw(), DrawChestList(), and DrawChestProperties().
|
private |
Definition at line 275 of file chest_editor_panel.h.
Referenced by Draw().
|
private |
Definition at line 276 of file chest_editor_panel.h.
Referenced by SetCanvasViewer().
|
private |
Definition at line 279 of file chest_editor_panel.h.
Referenced by DrawChestList(), and DrawChestProperties().
|
private |
Definition at line 281 of file chest_editor_panel.h.
Referenced by DrawChestList(), DrawChestProperties(), and SetChestModifiedCallback().