Made cLightingThread own its callbacks
This commit is contained in:
@@ -149,11 +149,11 @@ void cLightingThread::Stop(void)
|
||||
|
||||
|
||||
|
||||
void cLightingThread::QueueChunk(int a_ChunkX, int a_ChunkZ, cChunkCoordCallback * a_CallbackAfter)
|
||||
void cLightingThread::QueueChunk(int a_ChunkX, int a_ChunkZ, std::unique_ptr<cChunkCoordCallback> a_CallbackAfter)
|
||||
{
|
||||
ASSERT(m_World != nullptr); // Did you call Start() properly?
|
||||
|
||||
cChunkStay * ChunkStay = new cLightingChunkStay(*this, a_ChunkX, a_ChunkZ, a_CallbackAfter);
|
||||
cChunkStay * ChunkStay = new cLightingChunkStay(*this, a_ChunkX, a_ChunkZ, std::move(a_CallbackAfter));
|
||||
{
|
||||
// The ChunkStay will enqueue itself using the QueueChunkStay() once it is fully loaded
|
||||
// In the meantime, put it into the PendingQueue so that it can be removed when stopping the thread
|
||||
@@ -599,11 +599,11 @@ void cLightingThread::QueueChunkStay(cLightingChunkStay & a_ChunkStay)
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// cLightingThread::cLightingChunkStay:
|
||||
|
||||
cLightingThread::cLightingChunkStay::cLightingChunkStay(cLightingThread & a_LightingThread, int a_ChunkX, int a_ChunkZ, cChunkCoordCallback * a_CallbackAfter) :
|
||||
cLightingThread::cLightingChunkStay::cLightingChunkStay(cLightingThread & a_LightingThread, int a_ChunkX, int a_ChunkZ, std::unique_ptr<cChunkCoordCallback> a_CallbackAfter) :
|
||||
m_LightingThread(a_LightingThread),
|
||||
m_ChunkX(a_ChunkX),
|
||||
m_ChunkZ(a_ChunkZ),
|
||||
m_CallbackAfter(a_CallbackAfter)
|
||||
m_CallbackAfter(std::move(a_CallbackAfter))
|
||||
{
|
||||
Add(a_ChunkX + 1, a_ChunkZ + 1);
|
||||
Add(a_ChunkX + 1, a_ChunkZ);
|
||||
|
||||
Reference in New Issue
Block a user