Modernize client code (#6250)
[oweals/minetest.git] / src / emerge.cpp
index f5852aaae7de09c640cf7cdc8bd3a57f84d4c387..0fc31e9e168e5927a359f2aab4bec340eecbda47 100644 (file)
@@ -85,6 +85,31 @@ private:
        friend class EmergeManager;
 };
 
+class MapEditEventAreaIgnorer
+{
+public:
+       MapEditEventAreaIgnorer(VoxelArea *ignorevariable, const VoxelArea &a):
+               m_ignorevariable(ignorevariable)
+       {
+               if(m_ignorevariable->getVolume() == 0)
+                       *m_ignorevariable = a;
+               else
+                       m_ignorevariable = NULL;
+       }
+
+       ~MapEditEventAreaIgnorer()
+       {
+               if(m_ignorevariable)
+               {
+                       assert(m_ignorevariable->getVolume() != 0);
+                       *m_ignorevariable = VoxelArea();
+               }
+       }
+
+private:
+       VoxelArea *m_ignorevariable;
+};
+
 ////
 //// EmergeManager
 ////