ULRE/src/SceneGraph/scene/Scene.cpp
2025-06-04 00:18:32 +08:00

40 lines
862 B
C++

#include<hgl/graph/Scene.h>
#include<hgl/type/Map.h>
namespace hgl::graph
{
namespace
{
Map<U8String,Scene *> scene_world_map;///<场景列表
}//namespace
bool RegistryScene(Scene *sw)
{
if(!sw)return(false);
const U8String &scene_name=sw->GetSceneName();
if(scene_world_map.Find(scene_name))
return false;///<已经注册过了
scene_world_map.Add(scene_name,sw);
return true;
}
Scene *GetScene(const U8String &scene_name)
{
if(scene_name.IsEmpty())
return(nullptr);
return GetObjectFromMap(scene_world_map,scene_name);
}
bool UnregistryScene(const U8String &scene_name)
{
if(scene_name.IsEmpty())
return(false);
return scene_world_map.DeleteByKey(scene_name);
}
}//namespace hgl::graph