summaryrefslogtreecommitdiff
path: root/src/resources/map/map.h
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2016-04-29 20:26:10 +0300
committerAndrei Karas <akaras@inbox.ru>2016-04-29 20:26:10 +0300
commit3fca67011281a84d04b0b07dfea1206e964e42e9 (patch)
tree34ec295e5ad99f25596a4b19a4a158f3dc96b82c /src/resources/map/map.h
parentda8550ca0017883f20fcefb6dc47f082d30b4b86 (diff)
downloadmanaverse-3fca67011281a84d04b0b07dfea1206e964e42e9.tar.gz
manaverse-3fca67011281a84d04b0b07dfea1206e964e42e9.tar.bz2
manaverse-3fca67011281a84d04b0b07dfea1206e964e42e9.tar.xz
manaverse-3fca67011281a84d04b0b07dfea1206e964e42e9.zip
Add partial support for memory counting in Map.
Diffstat (limited to 'src/resources/map/map.h')
-rw-r--r--src/resources/map/map.h21
1 files changed, 18 insertions, 3 deletions
diff --git a/src/resources/map/map.h b/src/resources/map/map.h
index 4a0f71e82..7320bb8d5 100644
--- a/src/resources/map/map.h
+++ b/src/resources/map/map.h
@@ -33,6 +33,8 @@
#include "enums/resources/map/blocktype.h"
#include "enums/resources/map/maptype.h"
+#include "resources/memorycounter.h"
+
#include "resources/map/properties.h"
#include "listeners/configlistener.h"
@@ -63,7 +65,9 @@ typedef AmbientLayerVector::iterator AmbientLayerVectorIter;
/**
* A tile map.
*/
-class Map final : public Properties, public ConfigListener
+class Map final : public Properties,
+ public ConfigListener,
+ public MemoryCounter
{
public:
enum CollisionTypes
@@ -79,8 +83,11 @@ class Map final : public Properties, public ConfigListener
/**
* Constructor, taking map and tile size as parameters.
*/
- Map(const int width, const int height,
- const int tileWidth, const int tileHeight);
+ Map(const std::string &name,
+ const int width,
+ const int height,
+ const int tileWidth,
+ const int tileHeight);
A_DELETE_COPY(Map)
@@ -361,6 +368,13 @@ class Map final : public Properties, public ConfigListener
void updateConditionLayers() restrict2;
+ int calcMemoryLocal() const override final;
+
+ int calcMemoryChilds(const int level) const override final;
+
+ std::string getCounterName() const override final
+ { return mName; }
+
protected:
friend class Actor;
friend class Minimap;
@@ -456,6 +470,7 @@ class Map final : public Properties, public ConfigListener
std::map<int, TileAnimation*> mTileAnimations;
+ std::string mName;
int mOverlayDetail;
float mOpacity;
const RenderType mOpenGL;