1#ifndef YAZE_APP_EDITOR_DUNGEON_PANELS_WATER_FILL_PANEL_H
2#define YAZE_APP_EDITOR_DUNGEON_PANELS_WATER_FILL_PANEL_H
22 std::string
GetId()
const override {
return "dungeon.water_fill"; }
33 void Draw(
bool* p_open)
override;
35 static std::vector<zelda3::WaterFillZoneEntry>
CollectZones(
47 context->
rom !=
viewer_->
rom() || context->current_room_id != room_id ||
48 !context->on_mutation || !context->on_invalidate_cache) {
54 template <
typename Edit>
InteractionContext * context() const
Get the interaction context.
DungeonRoomStore * rooms() const
Handles object selection, placement, and interaction within the dungeon canvas.
void HandleMouseRelease()
InteractionCoordinator & entity_coordinator()
Get the interaction coordinator for entity handling.
TileObjectHandler & tile_handler()
void SetCanvasViewer(DungeonCanvasViewer *viewer)
std::string GetIcon() const override
Material Design icon for this panel.
std::string GetId() const override
Unique identifier for this panel.
static std::vector< zelda3::WaterFillZoneEntry > CollectZones(const DungeonRoomStore &rooms)
DungeonObjectInteraction * interaction_
std::string last_io_error_
DungeonCanvasViewer * viewer_
const InteractionContext * RoomEditContext(int room_id) const
void SetInteraction(DungeonObjectInteraction *interaction)
void EditRoomWaterFill(int room_id, Edit edit)
std::string GetWorkflowGroup() const override
Optional workflow group for hack-centric actions.
static void ApplyZoneToRoom(const zelda3::WaterFillZoneEntry &z, zelda3::Room *room)
std::string last_io_status_
std::string GetDisplayName() const override
Human-readable name shown in menus and title bars.
void Draw(bool *p_open) override
Draw the panel content.
WaterFillPanel(DungeonCanvasViewer *viewer, DungeonObjectInteraction *interaction)
std::string GetEditorCategory() const override
Editor category this panel belongs to.
Base interface for all logical window content components.
#define ICON_MD_WATER_DROP
Editors are the view controllers for the application.
Shared context for all interaction handlers.