public Tile this[Point point] { get { if (tiles.ContainsKey(point.X)) { Dictionary<int, Tile> tmp = tiles[point.X]; if (tmp.ContainsKey(point.Y)) { return tmp[point.Y]; } else { return new Tile(); } } else { return new Tile(); } } }