+ /// Get the starting position of a player.\r
+ /// </summary>\r
+ /// <param name="playerNumber">The number of the player (i.e. 1-4).\r
+ /// This number must be a valid player number.</param>\r
+ /// <returns>The starting position of the player.</returns>\r
+ public Point GetStartingPositionForPlayer(int playerNumber)\r
+ {\r
+ Debug.Assert(1 <= playerNumber && playerNumber <= NumPlayers.Max());\r
+ return mData.PlayerPositions[playerNumber];\r
+ }\r
+\r
+\r
+ /// <summary>\r
+ /// Get all the entities loaded from the map file. Exceptions could be\r
+ /// thrown if there are entities without associated classes.\r
+ /// </summary>\r
+ /// <param name="game">The game reference to be passed to entities.</param>\r
+ /// <returns>List of entity objects loaded.</returns>\r
+ public List<IEntity> GetAllEntities(Game game)\r
+ {\r
+ return mData.GetAllEntities(game);\r
+ }\r
+\r
+ /// <summary>\r
+ /// Get the entities of a certain type loaded from the map file. Exceptions\r
+ /// could be thrown if there are entities without associated classes.\r
+ /// </summary>\r
+ /// <param name="game">The game reference to be passed to entities.</param>\r
+ /// <typeparam name="T">Type of the entity you want a list of.</typeparam>\r
+ /// <returns>List of entity objects loaded.</returns>\r
+ public List<T> GetEntities<T>(Game game)\r
+ {\r
+ return mData.GetEntities<T>(game);\r
+ }\r
+\r
+\r
+ /// <summary>\r
+ /// Set the tile of a cell.\r
+ /// </summary>\r
+ /// <param name="x">X-coordinate.</param>\r
+ /// <param name="y">Y-coordinate.</param>\r
+ /// <param name="tile">The character representing the tile.</param>\r
+ public void SetCell(int x, int y, char tile)\r
+ {\r
+ mData.SetCell(x, y, tile);\r
+ }\r
+\r
+ /// <summary>\r
+ /// Set the tile of a cell.\r
+ /// </summary>\r
+ /// <param name="point">X,Y-coordinates.</param>\r
+ /// <param name="tile">The character representing the tile.</param>\r
+ public void SetCell(Point point, char tile)\r
+ {\r
+ mData.SetCell(point.X, point.Y, tile);\r
+ }\r
+\r
+\r
+ /// <summary>\r
+ /// Clear a cell to the default tile.\r
+ /// </summary>\r
+ /// <param name="x">X-coordinate.</param>\r
+ /// <param name="y">Y-coordinate.</param>\r
+ public void ClearCell(int x, int y)\r
+ {\r
+ mData.ClearCell(x, y);\r
+ }\r
+\r
+ /// <summary>\r
+ /// Clear a cell to the default tile.\r
+ /// </summary>\r
+ /// <param name="point">X,Y-coordinates.</param>\r
+ public void ClearCell(Point point)\r
+ {\r
+ mData.ClearCell(point.X, point.Y);\r
+ }\r
+\r
+\r
+ /// <summary>\r
+ /// Reset the map to the state it was at right after loading.\r