summaryrefslogtreecommitdiffstats
path: root/source/cChunkGenerator.h
blob: df29a3e608425092d85acbb4fcf7091303ff4e3b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#pragma once

class cChunk;
class cChunkMap;
class cChunkGenerator
{
public:
	cChunkGenerator( cChunkMap* a_pChunkMap );
	~cChunkGenerator();

	void GenerateChunk( int a_X, int a_Z );

	cChunk* GetCurrentlyGenerating(); // WARNING - Be sure to Lock() before calling, and Unlock() after done with the chunk!
	void Lock();
	void Unlock();
private:
	static void GenerateThread( void* a_Params );

	cChunkMap* m_pChunkMap;

	struct sChunkGeneratorState;
	sChunkGeneratorState* m_pState;
};