feat(editor): add entity operations for overworld editing

- Introduced new `entity_operations.cc` and `entity_operations.h` files to handle the insertion of entrances, exits, sprites, and items in the overworld editor.
- Updated `map_properties.cc` to include a context menu for entity insertion, allowing users to add various entities directly from the canvas.
- Enhanced `overworld_editor.cc` to manage entity insertion callbacks and streamline the editing process.

Benefits:
- Improves the functionality of the overworld editor by enabling direct manipulation of entities.
- Provides a more intuitive user experience with context-sensitive menus for entity operations.
This commit is contained in:
scawful
2025-10-16 11:41:51 -04:00
parent 5aa265230d
commit 69f94323c0
20 changed files with 694 additions and 167 deletions

View File

@@ -10,7 +10,6 @@
namespace yaze {
namespace gui {
namespace canvas {
/**
* @brief Canvas usage patterns and tracking
@@ -24,6 +23,7 @@ enum class CanvasUsage {
kPaletteEditing, // Palette editing mode
kBppConversion, // BPP format conversion
kPerformanceMode, // Performance monitoring mode
kEntityManipulation, // Generic entity manipulation (insertion/editing/deletion)
kUnknown // Unknown or mixed usage
};
@@ -242,7 +242,6 @@ class CanvasUsageManager {
std::unordered_map<std::string, std::shared_ptr<CanvasUsageTracker>> trackers_;
};
} // namespace canvas
} // namespace gui
} // namespace yaze