Refactor EditorManager to extract LoadAssets method for improved code organization and readability
This commit is contained in:
@@ -701,16 +701,20 @@ void EditorManager::LoadRom() {
|
||||
manager.Load();
|
||||
manager.AddFile(file_name);
|
||||
manager.Save();
|
||||
auto load_rom_assets = [&]() -> absl::Status {
|
||||
auto &sheet_manager = GraphicsSheetManager::GetInstance();
|
||||
ASSIGN_OR_RETURN(*sheet_manager.mutable_gfx_sheets(),
|
||||
LoadAllGraphicsData(*rom()))
|
||||
RETURN_IF_ERROR(overworld_editor_.LoadGraphics());
|
||||
return absl::OkStatus();
|
||||
};
|
||||
if (!load_rom_assets().ok()) {
|
||||
status_ = load_rom_assets();
|
||||
}
|
||||
LoadAssets();
|
||||
}
|
||||
}
|
||||
|
||||
void EditorManager::LoadAssets() {
|
||||
auto load_rom_assets = [&]() -> absl::Status {
|
||||
auto &sheet_manager = GraphicsSheetManager::GetInstance();
|
||||
ASSIGN_OR_RETURN(*sheet_manager.mutable_gfx_sheets(),
|
||||
LoadAllGraphicsData(*rom()))
|
||||
RETURN_IF_ERROR(overworld_editor_.LoadGraphics());
|
||||
return absl::OkStatus();
|
||||
};
|
||||
if (!load_rom_assets().ok()) {
|
||||
status_ = load_rom_assets();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -739,6 +743,7 @@ void EditorManager::OpenRomOrProject(const std::string &filename) {
|
||||
} else {
|
||||
status_ = rom()->LoadFromFile(filename);
|
||||
current_rom_ = rom();
|
||||
LoadAssets();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -756,11 +761,9 @@ absl::Status EditorManager::OpenProject() {
|
||||
manager.AddFile(current_project_.filepath + "/" + current_project_.name +
|
||||
".yaze");
|
||||
manager.Save();
|
||||
|
||||
assembly_editor_.OpenFolder(current_project_.code_folder_);
|
||||
|
||||
current_project_.project_opened_ = true;
|
||||
|
||||
LoadAssets();
|
||||
return absl::OkStatus();
|
||||
}
|
||||
|
||||
|
||||
@@ -65,8 +65,8 @@ class EditorManager : public SharedRom {
|
||||
void DrawPopups();
|
||||
|
||||
void LoadRom();
|
||||
void LoadAssets();
|
||||
void SaveRom();
|
||||
|
||||
void OpenRomOrProject(const std::string &filename);
|
||||
absl::Status OpenProject();
|
||||
void SaveProject();
|
||||
|
||||
Reference in New Issue
Block a user