@@ -202,7 +202,7 @@ void LBooldozerEditor::Render(float dt, LEditorScene* renderer_scene)
202202
203203 ImVec2 center = ImGui::GetMainViewport ()->GetCenter ();
204204 ImGui::SetNextWindowPos (center, ImGuiCond_Appearing, ImVec2 (0 .5f , 0 .5f ));
205- ImGui::SetNextWindowSize ({ImGui::GetMainViewport ()->Size .x * 0.25 , ImGui::GetMainViewport ()->Size .y * 0.75 }, ImGuiCond_Appearing);
205+ ImGui::SetNextWindowSize ({ImGui::GetMainViewport ()->Size .x * 0 .25f , ImGui::GetMainViewport ()->Size .y * 0 .75f }, ImGuiCond_Appearing);
206206 if (ImGui::BeginPopupModal (" Map Select" , NULL , ImGuiWindowFlags_AlwaysAutoResize))
207207 {
208208 for (int x = 0 ; x <= 13 ; x++){
@@ -247,6 +247,8 @@ void LBooldozerEditor::Render(float dt, LEditorScene* renderer_scene)
247247 ImGui::Separator ();
248248 if (ImGui::Button (" Yes" )) {
249249 renderer_scene->Clear ();
250+ GetSelectionManager ()->ClearSelection ();
251+
250252 auto rooms = mLoadedMap ->GetChildrenOfType <LRoomDOMNode>(EDOMNodeType::Room);
251253
252254 std::shared_ptr<LRoomDOMNode> newRoom = std::make_shared<LRoomDOMNode>(" Room 0" );
@@ -257,14 +259,22 @@ void LBooldozerEditor::Render(float dt, LEditorScene* renderer_scene)
257259
258260 std::string resPathInRoot = std::format (" {}/{}{}" , OPTIONS.mRootPath , " files" , newRoomData->GetResourcePath ());
259261
260- for (auto room : rooms){
261- mLoadedMap ->RemoveChild (room);
262+ for (auto ent : mLoadedMap ->GetChildrenOfType <LEntityDOMNode>(EDOMNodeType::Entity)){
263+ mLoadedMap ->RemoveChild (ent);
264+ }
265+
266+ for (auto mirror : mLoadedMap ->GetChildrenOfType <LMirrorDOMNode>(EDOMNodeType::Mirror)){
267+ mLoadedMap ->RemoveChild (mirror);
262268 }
263269
264270 for (auto door : mLoadedMap ->GetChildrenOfType <LDoorDOMNode>(EDOMNodeType::Door)){
265271 mLoadedMap ->RemoveChild (door);
266272 }
267273
274+ for (auto room : rooms){
275+ mLoadedMap ->RemoveChild (room);
276+ }
277+
268278 // Clear all room resources
269279 std::filesystem::remove_all (std::filesystem::path (resPathInRoot).parent_path ());
270280
@@ -285,8 +295,8 @@ void LBooldozerEditor::Render(float dt, LEditorScene* renderer_scene)
285295 newRoomData->SetRoomID (0 );
286296 newRoomData->SetRoomIndex (0 );
287297
288- newRoomData->SetMin ({-550 , 0 , 0 });
289- newRoomData->SetMax ({550 , 500 , 800 });
298+ newRoomData->SetMin ({-1000 , 0 , - 1000 });
299+ newRoomData->SetMax ({1000 , 1000 , 1000 });
290300 newRoom->AddChild (newRoomData);
291301 newRoom->SetRoomNumber (0 );
292302 newRoomData->GetAdjacencyList ().push_back (newRoom);
0 commit comments