mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-14 05:26:10 +00:00
Tons of PART rendering preparation
This commit is contained in:
28
Editor/ProjectResourceFactory.hpp
Normal file
28
Editor/ProjectResourceFactory.hpp
Normal file
@@ -0,0 +1,28 @@
|
||||
#ifndef URDE_PROJECT_RESOURCE_FACTORY_HPP
|
||||
#define URDE_PROJECT_RESOURCE_FACTORY_HPP
|
||||
|
||||
#include "Runtime/IFactory.hpp"
|
||||
#include "Runtime/CFactoryMgr.hpp"
|
||||
|
||||
namespace URDE
|
||||
{
|
||||
|
||||
class ProjectResourceFactory : public pshag::IFactory
|
||||
{
|
||||
std::unordered_map<pshag::SObjectTag, HECL::ProjectPath> m_resPaths;
|
||||
pshag::CFactoryMgr m_factoryMgr;
|
||||
void RecursiveAddDirObjects(const HECL::ProjectPath& path);
|
||||
public:
|
||||
ProjectResourceFactory();
|
||||
void BuildObjectMap(const HECL::Database::Project::ProjectDataSpec& spec);
|
||||
|
||||
std::unique_ptr<pshag::IObj> Build(const pshag::SObjectTag&, const pshag::CVParamTransfer&);
|
||||
void BuildAsync(const pshag::SObjectTag&, const pshag::CVParamTransfer&, pshag::IObj**);
|
||||
void CancelBuild(const pshag::SObjectTag&);
|
||||
bool CanBuild(const pshag::SObjectTag&);
|
||||
const pshag::SObjectTag* GetResourceIdByName(const char*) const;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif // URDE_PROJECT_RESOURCE_FACTORY_HPP
|
||||
Reference in New Issue
Block a user