1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- /*
- * MapRendererContext.h, part of VCMI engine
- *
- * Authors: listed in file AUTHORS in main folder
- *
- * License: GNU General Public License v2.0 or later
- * Full text of license available in license.txt file, in main folder
- *
- */
- #pragma once
- #include "../lib/GameConstants.h"
- #include "../lib/int3.h"
- VCMI_LIB_NAMESPACE_BEGIN
- struct ObjectPosInfo;
- class CGObjectInstance;
- VCMI_LIB_NAMESPACE_END
- class IMapRendererContext;
- // from VwSymbol.def
- enum class EWorldViewIcon
- {
- TOWN = 0,
- HERO = 1,
- ARTIFACT = 2,
- TELEPORT = 3,
- GATE = 4,
- MINE_WOOD = 5,
- MINE_MERCURY = 6,
- MINE_STONE = 7,
- MINE_SULFUR = 8,
- MINE_CRYSTAL = 9,
- MINE_GEM = 10,
- MINE_GOLD = 11,
- RES_WOOD = 12,
- RES_MERCURY = 13,
- RES_STONE = 14,
- RES_SULFUR = 15,
- RES_CRYSTAL = 16,
- RES_GEM = 17,
- RES_GOLD = 18,
- ICONS_PER_PLAYER = 19,
- ICONS_TOTAL = 19 * 9 // 8 players + neutral set at the end
- };
- struct MapRendererContextState
- {
- public:
- MapRendererContextState();
- using MapObject = ObjectInstanceID;
- using MapObjectsList = std::vector<MapObject>;
- boost::multi_array<MapObjectsList, 3> objects;
- void addObject(const CGObjectInstance * object);
- void addMovingObject(const CGObjectInstance * object, const int3 & tileFrom, const int3 & tileDest);
- void removeObject(const CGObjectInstance * object);
- };
|