Core/MMaps: Fixed pathing for objects that have terrain swaps active
Port From (https://github.com/TrinityCore/TrinityCore/commit/86725ed9267803506d8a5cab04c2c5641a234dd9)
This commit is contained in:
@@ -270,6 +270,14 @@ namespace Game.Maps
|
||||
LoadMapAndVMapImpl(gx, gy);
|
||||
}
|
||||
|
||||
public void LoadMMapInstance(uint mapId, uint instanceId)
|
||||
{
|
||||
LoadMMapInstanceImpl(mapId, instanceId);
|
||||
|
||||
foreach (var childTerrain in _childTerrain)
|
||||
childTerrain.LoadMMapInstanceImpl(mapId, instanceId);
|
||||
}
|
||||
|
||||
public void LoadMapAndVMapImpl(int gx, int gy)
|
||||
{
|
||||
LoadMap(gx, gy);
|
||||
@@ -282,6 +290,11 @@ namespace Game.Maps
|
||||
_loadedGrids[GetBitsetIndex(gx, gy)] = true;
|
||||
}
|
||||
|
||||
void LoadMMapInstanceImpl(uint mapId, uint instanceId)
|
||||
{
|
||||
Global.MMapMgr.LoadMapInstance(Global.WorldMgr.GetDataPath(), _mapId, mapId, instanceId);
|
||||
}
|
||||
|
||||
public void LoadMap(int gx, int gy)
|
||||
{
|
||||
if (_gridMap[gx][gy] != null)
|
||||
@@ -346,6 +359,14 @@ namespace Game.Maps
|
||||
// unload later
|
||||
}
|
||||
|
||||
public void UnloadMMapInstance(uint mapId, uint instanceId)
|
||||
{
|
||||
UnloadMMapInstanceImpl(mapId, instanceId);
|
||||
|
||||
foreach (var childTerrain in _childTerrain)
|
||||
childTerrain.UnloadMMapInstanceImpl(mapId, instanceId);
|
||||
}
|
||||
|
||||
public void UnloadMapImpl(int gx, int gy)
|
||||
{
|
||||
_gridMap[gx][gy] = null;
|
||||
@@ -358,6 +379,11 @@ namespace Game.Maps
|
||||
_loadedGrids[GetBitsetIndex(gx, gy)] = false;
|
||||
}
|
||||
|
||||
void UnloadMMapInstanceImpl(uint mapId, uint instanceId)
|
||||
{
|
||||
Global.MMapMgr.UnloadMapInstance(_mapId, mapId, instanceId);
|
||||
}
|
||||
|
||||
public GridMap GetGrid(uint mapId, float x, float y, bool loadIfMissing = true)
|
||||
{
|
||||
// half opt method
|
||||
|
||||
Reference in New Issue
Block a user