Refactor EditorManager to extract LoadAssets method for improved code organization and readability

This commit is contained in:
scawful
2025-03-11 21:26:55 -04:00
parent 29d940594c
commit 80655313d1
2 changed files with 17 additions and 14 deletions

View File

@@ -701,6 +701,11 @@ void EditorManager::LoadRom() {
manager.Load(); manager.Load();
manager.AddFile(file_name); manager.AddFile(file_name);
manager.Save(); manager.Save();
LoadAssets();
}
}
void EditorManager::LoadAssets() {
auto load_rom_assets = [&]() -> absl::Status { auto load_rom_assets = [&]() -> absl::Status {
auto &sheet_manager = GraphicsSheetManager::GetInstance(); auto &sheet_manager = GraphicsSheetManager::GetInstance();
ASSIGN_OR_RETURN(*sheet_manager.mutable_gfx_sheets(), ASSIGN_OR_RETURN(*sheet_manager.mutable_gfx_sheets(),
@@ -712,7 +717,6 @@ void EditorManager::LoadRom() {
status_ = load_rom_assets(); status_ = load_rom_assets();
} }
} }
}
void EditorManager::SaveRom() { void EditorManager::SaveRom() {
if (core::FeatureFlags::get().kSaveDungeonMaps) { if (core::FeatureFlags::get().kSaveDungeonMaps) {
@@ -739,6 +743,7 @@ void EditorManager::OpenRomOrProject(const std::string &filename) {
} else { } else {
status_ = rom()->LoadFromFile(filename); status_ = rom()->LoadFromFile(filename);
current_rom_ = rom(); current_rom_ = rom();
LoadAssets();
} }
} }
@@ -756,11 +761,9 @@ absl::Status EditorManager::OpenProject() {
manager.AddFile(current_project_.filepath + "/" + current_project_.name + manager.AddFile(current_project_.filepath + "/" + current_project_.name +
".yaze"); ".yaze");
manager.Save(); manager.Save();
assembly_editor_.OpenFolder(current_project_.code_folder_); assembly_editor_.OpenFolder(current_project_.code_folder_);
current_project_.project_opened_ = true; current_project_.project_opened_ = true;
LoadAssets();
return absl::OkStatus(); return absl::OkStatus();
} }

View File

@@ -65,8 +65,8 @@ class EditorManager : public SharedRom {
void DrawPopups(); void DrawPopups();
void LoadRom(); void LoadRom();
void LoadAssets();
void SaveRom(); void SaveRom();
void OpenRomOrProject(const std::string &filename); void OpenRomOrProject(const std::string &filename);
absl::Status OpenProject(); absl::Status OpenProject();
void SaveProject(); void SaveProject();