[WIP] preparing SceneManager

This commit is contained in:
2024-09-06 01:04:28 +08:00
parent 59fc27c864
commit d7f7a7d095
4 changed files with 65 additions and 39 deletions

View File

@@ -0,0 +1,46 @@
#pragma once
#include<hgl/graph/SceneNode.h>
namespace hgl
{
namespace graph
{
template<typename T> class ObjectAllocator
{
template<typename OBJECT,typename ID,typename NAME> class IDNameObjectMap
{
ObjectList<OBJECT> obj_list;
Map<ID,OBJECT *> obj_map_by_id;
Map<NAME,OBJECT *> obj_map_by_name;
public:
virtual ~IDNameObjectMap()=default;
};//class NodeManager;
/**
* 场景管理器<Br>
* 管理一个场景中的所有资源与场景节点
*/
class SceneManager
{
SceneNode *root_node;
public:
SceneNode *GetSceneRoot() {return root_node;}
const SceneNode *GetSceneRoot()const{return root_node;}
const uint GetNodeCount()const { return node_list.GetCount(); }
public:
};//class SceneManager
}//namespace graph
}//namespace hgl