1#ifndef YAZE_APP_EDITOR_OVERWORLD_ENTITY_ENTITY_WORKBENCH_H
2#define YAZE_APP_EDITOR_OVERWORLD_ENTITY_ENTITY_WORKBENCH_H
10#include "imgui/imgui.h"
26class EntityMutationService;
41 std::string
GetId()
const override {
return "overworld.entity_workbench"; }
46 void Draw(
bool* p_open)
override;
67 "##OverworldEntityContextMenu";
The Rom class is used to load, save, and modify Rom data. This is a generic SNES ROM container and do...
Editor-level service responsible for overworld entity mutations.
Authoritative component for entity editing state and UI.
zelda3::GameEntity * editing_entity_
std::optional< zelda3::SpecialEntranceInspection > special_entrances_
void OpenEditorFor(zelda3::GameEntity *entity)
std::string GetEditorCategory() const override
Editor category this panel belongs to.
std::string GetDisplayName() const override
Human-readable name shown in menus and title bars.
std::string GetWorkflowGroup() const override
Optional workflow group for hack-centric actions.
OverworldEntityWorkbench()=default
void ProcessPendingInsertion(EntityMutationService *mutation_service)
static constexpr const char * kContextMenuPopupId
std::string GetIcon() const override
Material Design icon for this panel.
void Draw(bool *p_open) override
Draw the panel content.
zelda3::GameEntity * DrawEntityContextMenu()
const uint8_t * inspected_rom_data_
std::string inspected_filename_
void OpenContextMenuFor(zelda3::GameEntity *entity)
void SetActiveEntity(zelda3::GameEntity *entity)
const Rom * inspected_rom_
std::string GetId() const override
Unique identifier for this panel.
Base interface for all logical window content components.
Base class for all overworld and dungeon entities.