aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Map/MapManager.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Map/MapManager.h')
-rw-r--r--src/server/game/Map/MapManager.h158
1 files changed, 0 insertions, 158 deletions
diff --git a/src/server/game/Map/MapManager.h b/src/server/game/Map/MapManager.h
deleted file mode 100644
index d94f9fced0e..00000000000
--- a/src/server/game/Map/MapManager.h
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/>
- *
- * Copyright (C) 2008-2010 Trinity <http://www.trinitycore.org/>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#ifndef TRINITY_MAPMANAGER_H
-#define TRINITY_MAPMANAGER_H
-
-#include "Platform/Define.h"
-#include "Policies/Singleton.h"
-#include "ace/Thread_Mutex.h"
-#include "Common.h"
-#include "Map.h"
-#include "GridStates.h"
-#include "MapUpdater.h"
-
-class Transport;
-
-class MapManager : public Trinity::Singleton<MapManager, Trinity::ClassLevelLockable<MapManager, ACE_Thread_Mutex> >
-{
-
- friend class Trinity::OperatorNew<MapManager>;
- typedef UNORDERED_MAP<uint32, Map*> MapMapType;
- typedef std::pair<UNORDERED_MAP<uint32, Map*>::iterator, bool> MapMapPair;
-
- public:
-
- Map* CreateMap(uint32, const WorldObject* obj, uint32 instanceId);
- Map const* CreateBaseMap(uint32 id) const { return const_cast<MapManager*>(this)->_createBaseMap(id); }
- Map* FindMap(uint32 mapid, uint32 instanceId = 0) const;
-
- uint16 GetAreaFlag(uint32 mapid, float x, float y, float z) const
- {
- Map const* m = CreateBaseMap(mapid);
- return m->GetAreaFlag(x, y, z);
- }
- uint32 GetAreaId(uint32 mapid, float x, float y, float z) const
- {
- return Map::GetAreaIdByAreaFlag(GetAreaFlag(mapid, x, y, z),mapid);
- }
- uint32 GetZoneId(uint32 mapid, float x, float y, float z) const
- {
- return Map::GetZoneIdByAreaFlag(GetAreaFlag(mapid, x, y, z),mapid);
- }
- void GetZoneAndAreaId(uint32& zoneid, uint32& areaid, uint32 mapid, float x, float y, float z)
- {
- Map::GetZoneAndAreaIdByAreaFlag(zoneid,areaid,GetAreaFlag(mapid, x, y, z),mapid);
- }
-
- void Initialize(void);
- void Update(uint32);
-
- void SetGridCleanUpDelay(uint32 t)
- {
- if (t < MIN_GRID_DELAY)
- i_gridCleanUpDelay = MIN_GRID_DELAY;
- else
- i_gridCleanUpDelay = t;
- }
-
- void SetMapUpdateInterval(uint32 t)
- {
- if (t > MIN_MAP_UPDATE_DELAY)
- t = MIN_MAP_UPDATE_DELAY;
-
- i_timer.SetInterval(t);
- i_timer.Reset();
- }
-
- //void LoadGrid(int mapid, int instId, float x, float y, const WorldObject* obj, bool no_unload = false);
- void UnloadAll();
-
- static bool ExistMapAndVMap(uint32 mapid, float x, float y);
- static bool IsValidMAP(uint32 mapid);
-
- static bool IsValidMapCoord(uint32 mapid, float x,float y)
- {
- return IsValidMAP(mapid) && Trinity::IsValidMapCoord(x,y);
- }
-
- static bool IsValidMapCoord(uint32 mapid, float x,float y,float z)
- {
- return IsValidMAP(mapid) && Trinity::IsValidMapCoord(x,y,z);
- }
-
- static bool IsValidMapCoord(uint32 mapid, float x,float y,float z,float o)
- {
- return IsValidMAP(mapid) && Trinity::IsValidMapCoord(x,y,z,o);
- }
-
- static bool IsValidMapCoord(WorldLocation const& loc)
- {
- return IsValidMapCoord(loc.GetMapId(), loc.GetPositionX(), loc.GetPositionY(), loc.GetPositionZ(), loc.GetOrientation());
- }
-
- void DoDelayedMovesAndRemoves();
-
- void LoadTransports();
-
- typedef std::set<Transport *> TransportSet;
- TransportSet m_Transports;
-
- typedef std::map<uint32, TransportSet> TransportMap;
- TransportMap m_TransportsByMap;
-
- bool CanPlayerEnter(uint32 mapid, Player* player, bool loginCheck = false);
- void RemoveBonesFromMap(uint32 mapid, uint64 guid, float x, float y);
- uint32 GenerateInstanceId() { return ++i_MaxInstanceId; }
- void InitMaxInstanceId();
- void InitializeVisibilityDistanceInfo();
-
- /* statistics */
- uint32 GetNumInstances();
- uint32 GetNumPlayersInInstances();
-
- private:
- // debugging code, should be deleted some day
- void checkAndCorrectGridStatesArray(); // just for debugging to find some memory overwrites
- GridState* i_GridStates[MAX_GRID_STATE]; // shadow entries to the global array in Map.cpp
- int i_GridStateErrorCount;
- private:
- MapManager();
- ~MapManager();
-
- MapManager(const MapManager &);
- MapManager& operator=(const MapManager &);
-
- Map* _createBaseMap(uint32 id);
- Map* _findMap(uint32 id) const
- {
- MapMapType::const_iterator iter = i_maps.find(id);
- return (iter == i_maps.end() ? NULL : iter->second);
- }
-
- typedef Trinity::ClassLevelLockable<MapManager, ACE_Thread_Mutex>::Lock Guard;
- uint32 i_gridCleanUpDelay;
- MapMapType i_maps;
- IntervalTimer i_timer;
-
- uint32 i_MaxInstanceId;
- MapUpdater m_updater;
-};
-#endif