Esempio n. 1
0
        public void Visit(Cave cave)
        {
            for (float x = cave.blockWidth / 2; x < cave.levelWidth; x += cave.blockWidth)
            {
                GameObject gameObject = new OutlineObstacle(new Boulder(new Obstacle(x, cave.blockHeight / 2, cave.blockWidth, cave.blockHeight)));
                gameObject.Decorate();
                cave.AddStuff(gameObject);

                gameObject = new OutlineObstacle(new Boulder(new Obstacle(x, cave.levelHeight - cave.blockHeight / 2, cave.blockWidth, cave.blockHeight)));
                gameObject.Decorate();
                cave.AddStuff(gameObject);
            }

            for (float y = cave.blockHeight + cave.blockHeight / 2; y < cave.levelHeight - cave.blockHeight; y += cave.blockHeight)
            {
                GameObject gameObject = new OutlineObstacle(new Boulder(new Obstacle(cave.blockWidth / 2, y, cave.blockWidth, cave.blockHeight)));
                gameObject.Decorate();
                cave.AddStuff(gameObject);

                gameObject = new OutlineObstacle(new Boulder(new Obstacle(cave.levelWidth - cave.blockWidth / 2, y, cave.blockWidth, cave.blockHeight)));
                gameObject.Decorate();
                cave.AddStuff(gameObject);
            }
        }