diff options
author | rtk0c <[email protected]> | 2021-06-05 19:44:54 -0700 |
---|---|---|
committer | rtk0c <[email protected]> | 2021-06-05 19:44:54 -0700 |
commit | a180e1b56025c6b7d81d2e587ad90531d29de44c (patch) | |
tree | 1c88361320371b508c81b52a28ae0579fcdd1fd7 /core/src/Model/Project.cpp | |
parent | d3fa128d5408673b0ea8d3ba3435c38b258a5e7a (diff) |
Initial work on asset system (does not compile)
Diffstat (limited to 'core/src/Model/Project.cpp')
-rw-r--r-- | core/src/Model/Project.cpp | 139 |
1 files changed, 0 insertions, 139 deletions
diff --git a/core/src/Model/Project.cpp b/core/src/Model/Project.cpp index 3cb3cb4..9f41d3a 100644 --- a/core/src/Model/Project.cpp +++ b/core/src/Model/Project.cpp @@ -62,23 +62,6 @@ Project::Project(fs::path rootPath) ReadItemList(Products, itemsDir / "products.json"); ReadItemList(Factories, itemsDir / "factories.json"); ReadItemList(Customers, itemsDir / "customers.json"); - - auto workflowsDir = mRootPath / "workflows"; - fs::create_directories(workflowsDir); - - for (auto& entry : fs::directory_iterator(workflowsDir)) { - if (!entry.is_regular_file()) continue; - auto& path = entry.path(); - if (path.extension() != ".cplt-workflow") continue; - - auto name = path.stem().string(); - auto [it, DISCARD] = mWorkflows.insert(name, WorkflowInfo{}); - auto& info = it.value(); - - info.Name = std::move(name); - info.PathStringCache = path.string(); - info.Path = path; - } } Project::Project(fs::path rootPath, std::string name) @@ -139,128 +122,6 @@ void Project::SetName(std::string name) mName = std::move(name); } -const tsl::array_map<char, WorkflowInfo>& Project::GetWorkflows() const -{ - return mWorkflows; -} - -std::unique_ptr<Workflow> Project::LoadWorkflow(std::string_view name) -{ - auto iter = mWorkflows.find(name); - if (iter == mWorkflows.end()) { - return iter.value().LoadFromDisk(); - } else { - return nullptr; - } -} - -std::unique_ptr<Workflow> Project::CreateWorkflow(std::string_view name) -{ - if (mWorkflows.find(name) != mWorkflows.end()) { - // Workflow with name already exists - return nullptr; - } - - auto workflow = std::make_unique<Workflow>(); - auto [it, DISCARD] = mWorkflows.insert( - name, - WorkflowInfo{ - .Path = GetWorkflowPath(name), - .Name = std::string(name), - }); - - return workflow; -} - -bool Project::RemoveWorkflow(std::string_view name) -{ - auto iter = mWorkflows.find(name); - if (iter == mWorkflows.end()) { - return false; - } - auto& info = iter.value(); - - fs::remove(info.Path); - mWorkflows.erase(iter); - - return true; -} - -bool Project::RenameWorkflow(std::string_view oldName, std::string_view newName) -{ - auto iter = mWorkflows.find(oldName); - if (iter == mWorkflows.end()) return false; - - auto info = std::move(iter.value()); - - auto& oldPath = info.Path; - auto newPath = GetWorkflowPath(newName); - fs::rename(oldPath, newPath); - info.Path = std::move(newPath); - - mWorkflows.insert(newName, std::move(info)); - mWorkflows.erase(iter); - - return true; -} - -const tsl::array_map<char, TemplateInfo>& Project::GetTemplates() const -{ - return mTemplates; -} - -std::unique_ptr<Template> Project::LoadTemplate(std::string_view name) -{ - auto iter = mTemplates.find(name); - if (iter == mTemplates.end()) { - return iter.value().LoadFromDisk(); - } else { - return nullptr; - } -} - -TemplateInfo* Project::InsertTemplate(std::string_view name, TemplateInfo info) -{ - auto [it, inserted] = mTemplates.insert(name, info); - if (inserted) { - return &it.value(); - } else { - return nullptr; - } -} - -bool Project::RemoveTemplate(std::string_view name) -{ - auto iter = mTemplates.find(name); - if (iter == mTemplates.end()) { - return false; - } - auto& info = iter.value(); - - fs::remove(info.Path); - mTemplates.erase(iter); - - return true; -} - -bool Project::RenameTemplate(std::string_view oldName, std::string_view newName) -{ - auto iter = mTemplates.find(oldName); - if (iter == mTemplates.end()) return false; - - auto info = std::move(iter.value()); - - auto& oldPath = info.Path; - auto newPath = GetTemplatePath(newName); - fs::rename(oldPath, newPath); - info.Path = std::move(newPath); - - mTemplates.insert(newName, std::move(info)); - mTemplates.erase(iter); - - return true; -} - Json::Value Project::Serialize() { Json::Value root(Json::objectValue); |