From 9bb61e6e2e23fc8a66dbc95d918f23b89ba60314 Mon Sep 17 00:00:00 2001 From: Tycho Date: Mon, 20 Jan 2014 09:17:24 -0800 Subject: Seperated BlockArea From World If anyone can come up with a better name for the interface I'll change it, It contians to methods which do compleatly unrelated things --- src/ForEachChunkProvider.h | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 src/ForEachChunkProvider.h (limited to 'src/ForEachChunkProvider.h') diff --git a/src/ForEachChunkProvider.h b/src/ForEachChunkProvider.h new file mode 100644 index 000000000..9092fcb0a --- /dev/null +++ b/src/ForEachChunkProvider.h @@ -0,0 +1,10 @@ + +class cBlockArea; + +class cForEachChunkProvider +{ +public: + virtual bool ForEachChunkInRect(int a_MinChunkX, int a_MaxChunkX, int a_MinChunkZ, int a_MaxChunkZ, cChunkDataCallback & a_Callback) = 0; + + virtual bool WriteBlockArea(cBlockArea & a_Area, int a_MinBlockX, int a_MinBlockY, int a_MinBlockZ, int a_DataTypes) = 0; +}; -- cgit v1.2.3 From ca3389231e111d8ca0bf4ca60ae4f96896da48b0 Mon Sep 17 00:00:00 2001 From: Tycho Date: Mon, 20 Jan 2014 10:15:19 -0800 Subject: Actually implemented interfaces --- src/ForEachChunkProvider.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/ForEachChunkProvider.h') diff --git a/src/ForEachChunkProvider.h b/src/ForEachChunkProvider.h index 9092fcb0a..70cd2196a 100644 --- a/src/ForEachChunkProvider.h +++ b/src/ForEachChunkProvider.h @@ -1,4 +1,8 @@ +#pragma once + +class cChunkDataCallback; + class cBlockArea; class cForEachChunkProvider -- cgit v1.2.3 From fc8743df9671172158d9d491843b8e208d3e25f3 Mon Sep 17 00:00:00 2001 From: madmaxoft Date: Tue, 18 Feb 2014 08:25:29 +0100 Subject: Added a bit more documentation to cForEachChunkProvider. --- src/ForEachChunkProvider.h | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) (limited to 'src/ForEachChunkProvider.h') diff --git a/src/ForEachChunkProvider.h b/src/ForEachChunkProvider.h index 70cd2196a..6017173ee 100644 --- a/src/ForEachChunkProvider.h +++ b/src/ForEachChunkProvider.h @@ -1,14 +1,39 @@ +// ForEachChunkProvider.h + +// Declares the cForEachChunkProvider class which acts as an interface for classes that provide a ForEachChunkInRect() function +// Primarily serves as a decoupling between cBlockArea and cWorld + + + + + #pragma once -class cChunkDataCallback; + + +// fwd: +class cChunkDataCallback; class cBlockArea; + + + + class cForEachChunkProvider { public: + /** Calls the callback for each chunk in the specified range. */ virtual bool ForEachChunkInRect(int a_MinChunkX, int a_MaxChunkX, int a_MinChunkZ, int a_MaxChunkZ, cChunkDataCallback & a_Callback) = 0; + /** Writes the block area into the specified coords. + Returns true if all chunks have been processed. + a_DataTypes is a bitmask of cBlockArea::baXXX constants ORed together. + */ virtual bool WriteBlockArea(cBlockArea & a_Area, int a_MinBlockX, int a_MinBlockY, int a_MinBlockZ, int a_DataTypes) = 0; }; + + + + -- cgit v1.2.3 From 773ce7fde692e86531e1e92f42776e316b793d83 Mon Sep 17 00:00:00 2001 From: madmaxoft Date: Fri, 28 Mar 2014 21:35:45 +0100 Subject: Fixed non-virtual destructors warnings. --- src/ForEachChunkProvider.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/ForEachChunkProvider.h') diff --git a/src/ForEachChunkProvider.h b/src/ForEachChunkProvider.h index 6017173ee..7a6e8c5c6 100644 --- a/src/ForEachChunkProvider.h +++ b/src/ForEachChunkProvider.h @@ -24,6 +24,8 @@ class cBlockArea; class cForEachChunkProvider { public: + virtual ~cForEachChunkProvider() {} + /** Calls the callback for each chunk in the specified range. */ virtual bool ForEachChunkInRect(int a_MinChunkX, int a_MaxChunkX, int a_MinChunkZ, int a_MaxChunkZ, cChunkDataCallback & a_Callback) = 0; -- cgit v1.2.3