45 lines
835 B
C++
45 lines
835 B
C++
#pragma once
|
|
#include"WorkObject.h"
|
|
|
|
namespace hgl
|
|
{
|
|
class WorkManager
|
|
{
|
|
graph::RenderFramework *render_framework;
|
|
|
|
uint fps=60;
|
|
double frame_time=1.0f/double(fps);
|
|
|
|
double last_update_time=0;
|
|
double last_render_time=0;
|
|
double cur_time=0;
|
|
|
|
WorkObject *cur_work_object=nullptr;
|
|
|
|
public:
|
|
|
|
WorkManager(graph::RenderFramework *rf)
|
|
{
|
|
render_framework=rf;
|
|
}
|
|
|
|
virtual ~WorkManager()
|
|
{
|
|
SAFE_CLEAR(cur_work_object);
|
|
}
|
|
|
|
void SetFPS(uint f)
|
|
{
|
|
fps=f;
|
|
frame_time=1.0f/double(fps);
|
|
}
|
|
|
|
void Tick(WorkObject *wo);
|
|
void Render(WorkObject *wo);
|
|
|
|
void Run();
|
|
|
|
void Start(WorkObject *wo);
|
|
};//class WorkManager
|
|
}//namespcae hgl
|