5#include "imgui/imgui.h"
14 if (!ImGui::IsMouseClicked(ImGuiMouseButton_Right)) {
18 if (!hovered_entity) {
54 if (!hovered_entity || !ImGui::IsMouseDoubleClicked(ImGuiMouseButton_Left)) {
72 ImGui::IsMouseClicked(ImGuiMouseButton_Left)) {
81 ImGui::IsMouseDragging(ImGuiMouseButton_Left)) {
94 if (
is_dragging_ && ImGui::IsMouseReleased(ImGuiMouseButton_Left)) {
void set_dirty(bool dirty)
zelda3::OverworldItem current_item_
void FinishDrag()
Finish an active drag operation.
zelda3::Sprite current_sprite_
zelda3::OverworldEntrance current_entrance_
int HandleDoubleClick(zelda3::GameEntity *hovered_entity)
Handle double-click actions on entities.
zelda3::OverworldExit current_exit_
zelda3::GameEntity * current_entity_
zelda3::GameEntity * dragged_entity_
void HandleContextMenus(zelda3::GameEntity *hovered_entity)
Handle entity context menus on right-click.
bool HandleDragDrop(zelda3::GameEntity *hovered_entity, ImVec2 mouse_delta)
Handle entity drag-and-drop operations.
Base class for all overworld and dungeon entities.
enum yaze::zelda3::GameEntity::EntityType entity_type_
Represents an overworld exit that transitions from dungeon to overworld.
A class for managing sprites in the overworld and underworld.
Editors are the view controllers for the application.
constexpr const char * kOverworld
std::string MakePopupId(size_t session_id, const std::string &editor_name, const std::string &popup_name)
Generate session-aware popup IDs to prevent conflicts in multi-editor layouts.