Ejemplo n.º 1
0
        public override void Start(Game game)
        {
            Components = new List <Component>();
            menuMusic  = new MenuMusicHandler();
            string[] chartNames = Directory.GetDirectories(Path.Combine(Directory.GetCurrentDirectory(), "!Content/!Songs"));

            songs = new List <SongContainer>();
            for (int i = 0; i < chartNames.Length; i++)
            {
                SongContainer tempcon = new SongContainer(chartNames[i], i);
                game.addGameObject(tempcon);
                songs.Add(tempcon);
                count++;
            }
            songs.Sort((a, b) =>
            {
                return((a.chart.chartInfo.difficulty > b.chart.chartInfo.difficulty) ? 1 : -1);
            });

            for (int i = 0; i < songs.Count; i++)
            {
                songs[i].pos  = i;
                chartNames[i] = songs[i].chartName;
            }

            selector        = new Visual();
            selector.Active = true;

            selector.x = 3 + 5;
            selector.y = 25;

            selector.localPositions.Add(new Coords(0, 0, ' ', ConsoleColor.Cyan, ConsoleColor.Cyan));
            selector.localPositions.Add(new Coords(0, 1, ' ', ConsoleColor.Cyan, ConsoleColor.Cyan));
            selector.localPositions.Add(new Coords(0, -1, ' ', ConsoleColor.Cyan, ConsoleColor.Cyan));
            selector.localPositions.Add(new Coords(32, 0, ' ', ConsoleColor.Cyan, ConsoleColor.Cyan));
            selector.localPositions.Add(new Coords(32, 1, ' ', ConsoleColor.Cyan, ConsoleColor.Cyan));
            selector.localPositions.Add(new Coords(32, -1, ' ', ConsoleColor.Cyan, ConsoleColor.Cyan));
            for (int i = 0; i < 33; i++)
            {
                selector.localPositions.Add(new Coords(i, 2, ' ', ConsoleColor.Cyan, ConsoleColor.Cyan));
                selector.localPositions.Add(new Coords(i, -2, ' ', ConsoleColor.Cyan, ConsoleColor.Cyan));
            }
            Components.Add(selector);
            chartInfoVisual = new ChartInfoVisual(songs[selected].chart);
            game.addGameObject(chartInfoVisual);


            //draw the option visual
            optButton        = new Visual();
            optButton.Active = true;
            char[] optText = "Options".ToCharArray();
            optButton.x = 50;
            optButton.y = 3;
            optButton.LoadBMP(Path.Combine(assetPath, "button.bmp"));
            optButton.writeText(7, 3, "Options", quitFront, quitBack);
            optButton.overrideColor = true;
            optButton.overridefront = optBack;
            optButton.overrideback  = optFront;
            Components.Add(optButton);

            //draw the quit visual
            quitButton        = new Visual();
            quitButton.Active = true;
            quitButton.x      = 75;
            quitButton.y      = 3;

            quitButton.LoadBMP(Path.Combine(assetPath, "button.bmp"));
            quitButton.writeText(9, 3, "Quit", quitFront, quitBack);
            quitButton.overrideColor = true;
            quitButton.overridefront = quitBack;
            quitButton.overrideback  = quitFront;
            //selector
            buttonSelector        = new Visual();
            buttonSelector.Active = true;
            buttonSelector.x      = 75;
            buttonSelector.y      = 3 - 10;
            buttonSelector.z      = 10;
            buttonSelector.LoadBMP(Path.Combine(assetPath, "buttonSelector.bmp"));
            Components.Add(buttonSelector);
            //draw the rings!
            ringVisual = new Visual();
            ringVisual.LoadBMP(Path.Combine(assetPath, "WheelGrey.bmp"), new int[] { 0, -1 });
            ringVisual.LoadBMP(Path.Combine(assetPath, "WheelBlack.bmp"), new int[] { 0, -1 });
            ringVisual.z      = -1;
            ringVisual.y      = -1;
            ringVisual.Active = true;
            Components.Add(ringVisual);
            Components.Add(quitButton);

            containerHandler = new ContainerHandler(songs);
            game.addGameObject(containerHandler);

            ringVisual.Animate(new int[] { -10, 0 }, new int[] { 0, 0 }, "easeOutQuad", 0.5f);

            game.addGameObject(menuMusic);
            menuMusic.StartMainMusic();
        }
 public override void Start()
 {
     initialObjs = new List <GameObject>();
     initialObjs.Add(MenuMusicHandler.GetMusicAnim());
 }