改进Component/Manager设计,在WorkObject封装Component相关模板函数,以减化使用部分。当前版本可运行,下一版迁移旧的Renderable渲染到StaticMeshComponent.

This commit is contained in:
2025-06-14 18:47:54 +08:00
parent edaf5aa3ca
commit 92f612f675
5 changed files with 50 additions and 11 deletions

View File

@@ -45,13 +45,13 @@ public:
StaticMeshComponentManager()=default;
StaticMeshComponent *CreateStaticMeshComponent(StaticMeshComponentData *data);
StaticMeshComponent *CreateComponent(StaticMeshComponentData *data);
StaticMeshComponent *CreateStaticMeshComponent(Mesh *m)
StaticMeshComponent *CreateComponent(Mesh *m)
{
auto sm_cd=new StaticMeshComponentData(m);
return CreateStaticMeshComponent(sm_cd);
return CreateComponent(sm_cd);
}
virtual Component *CreateComponent(ComponentData *data) override;
@@ -71,6 +71,11 @@ public:
virtual ~StaticMeshComponent()=default;
static StaticMeshComponentManager *GetDefaultManager()
{
return StaticMeshComponentManager::GetDefaultManager();
}
static constexpr const size_t StaticHashCode()
{
return hgl::GetTypeHash<StaticMeshComponent>();