Inheritance: IQuadObject
Example #1
0
        internal static bool TryLoad(TileIdentifier tileId, out Tile tile)
        {
            tile = null;
            var mpqManager = new MpqTerrainManager(tileId);
            if (!mpqManager.LoadTile(tileId)) return false;

            tile = new Tile
            {
                //_terrainTree = mpqManager.ADTManager.MapTiles[0].QuadTree,
                //_m2Tree = ((M2Manager) mpqManager.M2Manager).QuadTree,
                //_wmoTree = ((WMOManager) mpqManager.WMOManager).QuadTree,
                Bounds = PositionUtil.GetTileBoundingRect(tileId),
            };

            return true;
        }
Example #2
0
        /// <summary>
        /// Tries to get the tile with the given TileId. If the tile is not loaded,
        /// tries to load the tile from disk.
        /// </summary>
        /// <param name="tileId"><see cref="TileIdentifier"/> that describes the desired Tile.</param>
        /// <param name="tile">Tile object to fill with data</param>
        /// <returns>True if able to find/load the tile.</returns>
        private bool TryGetTile(TileIdentifier tileId, out Tile tile)
        {
            if (!_tiles.TryGetValue(tileId, out tile))
            {
                if (!Tile.TryLoad(tileId, out tile))
                {
                    log.Warn("Unable to load requested tile: {0}", tileId);
                    return false;
                }

                _tiles.Add(tileId, tile);
            }
            return true;
        }