重新命名EventDispatcher的添加/解决函数
This commit is contained in:
2
CMCore
2
CMCore
Submodule CMCore updated: a9e37e6219...7139219855
Submodule CMPlatform updated: ea52f06e72...5c4851e586
@@ -88,7 +88,7 @@ public:
|
||||
{
|
||||
CloseShaderCompiler();
|
||||
|
||||
win->UnregisterEventDispatch(this);
|
||||
win->RemoveChildDispatcher(this);
|
||||
|
||||
SAFE_CLEAR(db);
|
||||
SAFE_CLEAR_OBJECT_ARRAY_OBJECT(cmd_buf,swap_chain_count);
|
||||
@@ -154,7 +154,7 @@ public:
|
||||
|
||||
InitCommandBuffer();
|
||||
|
||||
win->RegisterEventDispatch(this);
|
||||
win->AddChildDispatcher(this);
|
||||
|
||||
{
|
||||
vp_info.Set(w,h);
|
||||
@@ -403,8 +403,8 @@ public:
|
||||
ckc=new CameraKeyboardControl(camera_control);
|
||||
cmc=new CameraMouseControl(camera_control);
|
||||
|
||||
win->RegisterEventDispatch(ckc);
|
||||
win->RegisterEventDispatch(cmc);
|
||||
win->AddChildDispatcher(ckc);
|
||||
win->AddChildDispatcher(cmc);
|
||||
|
||||
RefreshCameraInfo(camera_control->GetCameraInfo(),&vp_info,camera);
|
||||
|
||||
|
@@ -29,12 +29,12 @@ namespace hgl
|
||||
{
|
||||
render_framework=rf;
|
||||
|
||||
rf->RegisterEventDispatch(this);
|
||||
rf->AddChildDispatcher(this);
|
||||
}
|
||||
|
||||
virtual ~WorkManager()
|
||||
{
|
||||
render_framework->UnregisterEventDispatch(this);
|
||||
render_framework->RemoveChildDispatcher(this);
|
||||
SAFE_CLEAR(cur_work_object);
|
||||
}
|
||||
|
||||
|
@@ -1,10 +1,12 @@
|
||||
#pragma once
|
||||
|
||||
#include<hgl/type/object/TickObject.h>
|
||||
#include<hgl/graph/RenderFramework.h>
|
||||
#include<hgl/graph/VKRenderResource.h>
|
||||
#include<hgl/graph/mtl/MaterialLibrary.h>
|
||||
#include<hgl/graph/Renderer.h>
|
||||
#include<hgl/graph/Scene.h>
|
||||
#include<hgl/io/event/WindowEvent.h>
|
||||
#include<hgl/Time.h>
|
||||
//#include<iostream>
|
||||
|
||||
@@ -20,7 +22,7 @@ namespace hgl
|
||||
*
|
||||
* WorkObject被定义为工作对象,所有的渲染控制都需要被写在WorkObject的Render函数下。
|
||||
*/
|
||||
class WorkObject:public TickObject
|
||||
class WorkObject:public TickObject,public io::WindowEvent
|
||||
{
|
||||
graph::RenderFramework *render_framework=nullptr;
|
||||
|
||||
|
@@ -65,7 +65,7 @@ protected: //RenderContext,未来合并成一个RenderContext结构
|
||||
|
||||
void CreateDefaultRenderer();
|
||||
|
||||
protected: //EventDispatch
|
||||
protected: //EventDispatcher
|
||||
|
||||
io::MouseEvent *mouse_event=nullptr;
|
||||
|
||||
|
@@ -112,7 +112,7 @@ bool RenderFramework::Init(uint w,uint h)
|
||||
if(!device)
|
||||
return(false);
|
||||
|
||||
win->RegisterEventDispatch(this);
|
||||
win->AddChildDispatcher(this);
|
||||
|
||||
module_manager=new GraphModuleManager(this);
|
||||
|
||||
@@ -161,10 +161,10 @@ void RenderFramework::CreateDefaultRenderer()
|
||||
auto ckc=new CameraKeyboardControl(fpcc);
|
||||
auto cmc=new CameraMouseControl(fpcc);
|
||||
|
||||
this->RegisterEventDispatch(fpcc);
|
||||
this->AddChildDispatcher(fpcc);
|
||||
|
||||
fpcc->RegisterEventDispatch(ckc);
|
||||
fpcc->RegisterEventDispatch(cmc);
|
||||
fpcc->AddChildDispatcher(ckc);
|
||||
fpcc->AddChildDispatcher(cmc);
|
||||
|
||||
default_camera_control=fpcc;
|
||||
|
||||
|
@@ -23,6 +23,11 @@ namespace hgl
|
||||
{
|
||||
if(!rf)
|
||||
{
|
||||
if(render_framework)
|
||||
{
|
||||
render_framework->RemoveChildDispatcher(this);
|
||||
}
|
||||
|
||||
render_framework=nullptr;
|
||||
db=nullptr;
|
||||
}
|
||||
@@ -37,6 +42,8 @@ namespace hgl
|
||||
db=rf->GetRenderResource();
|
||||
scene=rf->GetDefaultScene();
|
||||
renderer=rf->GetDefaultRenderer();
|
||||
|
||||
render_framework->AddChildDispatcher(this);
|
||||
}
|
||||
|
||||
void WorkObject::Render(double delta_time)
|
||||
|
Reference in New Issue
Block a user