Example #1
0
        /// <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);
        }
Example #2
0
        /// <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);
        }