37 lines
605 B
C++
37 lines
605 B
C++
#include "HydraThread.h"
|
|
#include "../engine/HydraEngine.h"
|
|
#include "HydraTaskScheduler.h"
|
|
#include "../task/HydraTask.h"
|
|
|
|
void HydraThread::RunLoop()
|
|
{
|
|
Initialise();
|
|
while(m_running)
|
|
{
|
|
Process();
|
|
}
|
|
}
|
|
|
|
void HydraThread::Process()
|
|
{
|
|
GetEngine()->TaskScheduler()->ProcessTask();
|
|
}
|
|
|
|
void HydraThread::Start()
|
|
{
|
|
if(!m_running)
|
|
{
|
|
m_running = true;
|
|
m_thread = std::thread(&HydraThread::RunLoop, this);
|
|
ThreadID = m_thread.get_id(); //m_thread.detach();
|
|
}
|
|
}
|
|
|
|
void HydraThread::Stop()
|
|
{
|
|
if(m_running)
|
|
{
|
|
m_running = false;
|
|
}
|
|
}
|