/// <summary> /// Gets or creates a tile. /// </summary> /// <param name="tree">The tree.</param> /// <param name="tileId">The tile id.</param> /// <returns>The vector tile.</returns> internal static VectorTile TryGetOrCreate(this VectorTileTree tree, ulong tileId) { if (tree.TryGet(tileId, out var vectorTile)) { return(vectorTile); } vectorTile = new VectorTile { TileId = tileId }; tree[tileId] = vectorTile; return(vectorTile); }
/// <summary> /// Tries to get the given tile. /// </summary> /// <param name="tileId">The tile id.</param> /// <param name="vectorTile">The resulting tile (if any).</param> /// <returns>True if the tile exists.</returns> public bool TryGet(ulong tileId, out VectorTile vectorTile) { return(_tiles.TryGetValue(tileId, out vectorTile)); }