Remove outdated dungeon integration tests documentation and introduce new dungeon object system documentation

- Deleted the `dungeon-integration-tests.md` file, which contained comprehensive integration tests for the dungeon object rendering system.
- Added `dungeon-object-system.md`, detailing the architecture, object types, placement processes, rendering pipeline, and user interface components of the YAZE Dungeon Object System.
- Enhanced the DungeonEditor and DungeonObjectSelector with improved UI methods and object selection callbacks for better user interaction and object management.
This commit is contained in:
scawful
2025-09-25 19:19:32 -04:00
parent 1964d31930
commit fd538b8f31
6 changed files with 491 additions and 265 deletions

View File

@@ -160,6 +160,11 @@ void DungeonObjectSelector::DrawObjectBrowser() {
preview_object_ = test_object;
preview_palette_ = palette;
object_loaded_ = true;
// Notify the main editor that an object was selected
if (object_selected_callback_) {
object_selected_callback_(preview_object_);
}
}
// Draw preview image
@@ -252,15 +257,25 @@ void DungeonObjectSelector::DrawObjectBrowser() {
}
void DungeonObjectSelector::Draw() {
if (ImGui::BeginTabBar("##ObjectEditorTabBar")) {
if (ImGui::BeginTabItem("Graphics")) {
if (ImGui::BeginTabBar("##ObjectSelectorTabBar")) {
// Object Selector tab - for placing objects
if (ImGui::BeginTabItem("Object Selector")) {
DrawObjectBrowser();
ImGui::EndTabItem();
}
// Room Graphics tab - 8 bitmaps viewer
if (ImGui::BeginTabItem("Room Graphics")) {
DrawRoomGraphics();
ImGui::EndTabItem();
}
if (ImGui::BeginTabItem("Editor")) {
// Object Editor tab - experimental editor
if (ImGui::BeginTabItem("Object Editor")) {
DrawIntegratedEditingPanels();
ImGui::EndTabItem();
}
ImGui::EndTabBar();
}
}