RenderFramework关联default_scene事件传递

This commit is contained in:
2025-07-27 16:47:12 +08:00
parent 510168e912
commit d577642533
2 changed files with 26 additions and 6 deletions

View File

@@ -63,6 +63,8 @@ protected: //RenderContext,未来合并成一个RenderContext结构
CameraControl * default_camera_control =nullptr;
Renderer * default_renderer =nullptr;
void OnChangeDefaultScene(Scene *);
void CreateDefaultRenderer();
protected: //EventDispatcher

View File

@@ -134,7 +134,7 @@ bool RenderFramework::Init(uint w,uint h)
render_resource=new RenderResource(device);
default_scene=new Scene;
OnChangeDefaultScene(new Scene);
default_camera=new Camera();
@@ -143,6 +143,24 @@ bool RenderFramework::Init(uint w,uint h)
return(true);
}
void RenderFramework::OnChangeDefaultScene(Scene *s)
{
if(default_scene==s)
return;
if(default_scene)
{
this->RemoveChildDispatcher(&(default_scene->GetEventDispatcher()));
}
if(s)
{
this->AddChildDispatcher(&(s->GetEventDispatcher()));
}
default_scene=s;
}
void RenderFramework::CreateDefaultRenderer()
{
SAFE_CLEAR(default_renderer)