/// <summary> /// This function determines which tiles are visible on the screen, /// given the current camera position /// </summary> private List <Scene2DNode> GetVisibleTiles() { List <Scene2DNode> visibleTileList = new List <Scene2DNode>(); Tile tileReference; for (int y = 0; y < Height; y++) { for (int x = 0; x < Width; x++) { tileReference = tileGrid[x, y]; if (tileReference != null) { if (tileReference.Position.X >= game.camera.Position.X - tileReference.Width && tileReference.Position.X <= game.camera.Position.X + game.GraphicsDevice.Viewport.Width && tileReference.Position.Y >= game.camera.Position.Y - tileReference.Height && tileReference.Position.Y <= game.camera.Position.Y + game.GraphicsDevice.Viewport.Height) { Scene2DNode node = new Scene2DNode(tileReference.Texture, tileReference.Position); visibleTileList.Add(node); } } } } return(visibleTileList); }
/// <summary> /// Adds the sprite texture to the scene /// </summary> /// <returns>A <see cref="Scene2DNode"/> to use in the scene</returns> public Scene2DNode ToSceneGraphNode() { Scene2DNode returnValue = new Scene2DNode(texture, Position); return(returnValue); }