private void generateBackgroundScenery()
        {
            const float startY = 200.0f;

            float lowestX, lowestY, highestX, highestY;

            getLowestAndHighestPositionalValuesForParties(out lowestX, out lowestY, out highestX, out highestY);
            float overflow = highestX - lowestX * Game1.ScreenScaleFactor.X;

            lowestX  -= overflow;
            highestX += overflow;

            List <string> scenerySpriteNames = OverworldEncounter.Overworld.Area.Data.BattleBackgroundScenerySpriteNamesToList();
            Vector2       position           = new Vector2(lowestX, startY);

            do
            {
                SpriteData spriteData = ResourceManager.GetSpriteData(scenerySpriteNames.Sample());
                if (Game1.Random.Next(3) == 0)
                {
                    Vector2 sceneryPosition = new Vector2(position.X, position.Y + Game1.Random.Next(50));
                    addScenery(spriteData, sceneryPosition);
                    position.X += spriteData.Width + Game1.Random.Next(spriteData.Width);
                }
                else
                {
                    position.X += Game1.Random.Next(spriteData.Width);
                }
            } while (position.X < highestX);
        }
        private void generateFloorScenery()
        {
            const float minStep    = 30.0f;
            const int   randomStep = 30;
            const float startY     = 300.0f;

            float lowestX, lowestY, highestX, highestY;

            getLowestAndHighestPositionalValuesForParties(out lowestX, out lowestY, out highestX, out highestY);
            Vector2 overflow = new Vector2(highestX - lowestX, highestY - lowestY) * Game1.ScreenScaleFactor;

            lowestX  -= overflow.X;
            highestX += overflow.X;
            highestY += overflow.Y;

            List <string> scenerySpriteNames = OverworldEncounter.Overworld.Area.Data.BattleFloorScenerySpriteNamesToList();

            Vector2 position = new Vector2(lowestX, startY);

            do
            {
                do
                {
                    SpriteData spriteData = ResourceManager.GetSpriteData(scenerySpriteNames.Sample());
                    if (Game1.Random.Next(10) == 0)
                    {
                        Vector2 sceneryPosition = new Vector2(position.X, position.Y + Game1.Random.Next(50));
                        addScenery(spriteData, sceneryPosition);
                        position.X += spriteData.Width + Game1.Random.Next(spriteData.Width);
                    }

                    position.Y += minStep + Game1.Random.Next(randomStep);
                } while (position.Y < highestY);

                position.X += minStep + Game1.Random.Next(randomStep);
                position.Y  = startY;
            } while (position.X < highestX);
        }