Beispiel #1
0
 public Slider(Vector2i position, int minValue, int maxValue, int size, int defaultValue, string leftText,
               string rightText, string id, Renderer.Alignment align = Renderer.Alignment.Left, bool swapTexts = false) :
     this(position, minValue, maxValue, size, defaultValue, leftText, rightText, id,
          ColorScheme.GetColor($"slider_{id}_idle"),
          ColorScheme.GetColor($"slider_{id}_hover"),
          ColorScheme.GetColor($"slider_{id}_click"), align, swapTexts)
 {
 }
Beispiel #2
0
 public Slider(Vector2i position, int minValue, int maxValue, int size, int defaultValue, string leftText,
               string rightText, string id, Color idleColor, Color hoverColor, Color clickColor,
               Renderer.Alignment align = Renderer.Alignment.Left, bool swapTexts = false)
 {
     this.position    = position;
     this.minValue    = minValue;
     this.maxValue    = maxValue;
     this.size        = size;
     step             = (maxValue - minValue) / (size - 1);
     value            = defaultValue;
     this.leftText    = leftText;
     this.rightText   = rightText;
     this.id          = id;
     this.idleColor   = idleColor;
     this.hoverColor  = hoverColor;
     this.clickColor  = clickColor;
     this.align       = align;
     this.swapTexts   = swapTexts;
     _animTimes       = new float[size];
     _animRateOffsets = new float[size];
     _currentColor    = hoverColor;
 }
Beispiel #3
0
 public static void DrawText(this Renderer renderer, Vector2i position, string text,
                             Renderer.Alignment align = Renderer.Alignment.Left, bool replacingSpaces = false,
                             bool invertOnDarkBG      = false,
                             Func <Vector2i, RenderCharacter, (Vector2i position, RenderCharacter character)> charactersModifier = null)
Beispiel #4
0
        public static void RecreateButtons()
        {
            const Renderer.Alignment center = Renderer.Alignment.Center;
            const Renderer.Alignment right  = Renderer.Alignment.Right;

            _mainMenuButtons = new List <Button> {
                new Button(new Vector2i(40, 25), "PLAY", "mainMenu.play", 4, new InputKey("Enter"), center),
                new Button(new Vector2i(40, 27), "EDIT", "mainMenu.edit", 4, new InputKey("LShift,RShift"), center),
                new Button(new Vector2i(40, 29), "SETTINGS", "mainMenu.settings", 8, new InputKey("Tab"), center),
                new Button(new Vector2i(40, 31), "EXIT", "mainMenu.exit", 4, new InputKey("Tilde"), center),
                new Button(new Vector2i(1, 1), "SFML", "mainMenu.sfml", 4),
                new Button(new Vector2i(6, 1), "GITHUB", "mainMenu.github", 6),
                new Button(new Vector2i(13, 1), "DISCORD", "mainMenu.discord", 7)
            };
            _pauseMusicButton = new Button(new Vector2i(1, 58), "►", "mainMenu.music.pause", 1,
                                           new InputKey("Space"));
            _switchMusicButton = new Button(new Vector2i(3, 58), "»", "mainMenu.music.switch", 1,
                                            new InputKey("Right"));
            _levelSelectButtons = new List <Button> {
                new Button(new Vector2i(25, 10), "AUTO", "levelSelect.auto", 4, new InputKey("Tab")),
                new Button(new Vector2i(25, 10), "NEW", "levelSelect.new", 3,
                           new InputKey("LControl+N,RControl+N")),
                new Button(new Vector2i(39, 52), "BACK", "levelSelect.back", 4, new InputKey("Escape"), center)
            };
            _gameLastStatsButtons = new List <Button> {
                new Button(new Vector2i(2, 53), "CONTINUE", "lastStats.continue", 8, new InputKey("Enter")),
                new Button(new Vector2i(2, 55), "RESTART", "lastStats.restart", 7, new InputKey("LControl+R,RControl+R")),
                new Button(new Vector2i(10, 55), "AUTO", "lastStats.auto", 4, new InputKey("Tab")),
                new Button(new Vector2i(2, 57), "EXIT", "lastStats.exit", 4, new InputKey("Tilde"))
            };
            _editorLastStatsButtons = new List <Button> {
                new Button(new Vector2i(2, 51), "CONTINUE", "lastStats.continue", 8, new InputKey("Enter")),
                new Button(new Vector2i(2, 53), "SAVE", "lastStats.save", 4, new InputKey("LControl+S,RControl+S")),
                new Button(new Vector2i(2, 55), "SAVE & EXIT", "lastStats.saveAndExit", 11),
                new Button(new Vector2i(2, 57), "EXIT", "lastStats.exit", 4, new InputKey("Tilde"))
            };
            _levelEditorButtons = new List <Button> {
                new Button(new Vector2i(78, 58), "►", "editor.playPause", 1, new InputKey("Enter")),
                new Button(hpDrainPos, "<", "editor.hp.drain.down", 1),
                new Button(hpDrainPos + new Vector2i(2, 0), ">", "editor.hp.drain.up", 1),
                new Button(hpRestoragePos, "<", "editor.hp.restorage.down", 1),
                new Button(hpRestoragePos + new Vector2i(2, 0), ">", "editor.hp.restorage.up", 1),
                new Button(musicOffsetPos, "<", "editor.music.offset.down", 1),
                new Button(musicOffsetPos + new Vector2i(2, 0), ">", "editor.music.offset.up", 1)
            };

            _notificationsMenuButton = new Button(new Vector2i(78, 1), "□", "mainMenu.notifications", 1);

            _musicSpeedSlider = new Slider(new Vector2i(78, 58), 25, 100, 16, 100,
                                           "[value]%", "", "editor.music.speed", Renderer.Alignment.Right);
            _skipButton = new Button(new Vector2i(78, 58), "SKIP", "game.skip", 4,
                                     new InputKey("Space"), right);

            musicVolumeSlider = new Slider(new Vector2i(), 0, 100, 21, 15, "MUSIC VOLUME",
                                           "[value]", "settings.volume.music");
            soundsVolumeSlider = new Slider(new Vector2i(), 0, 100, 21, 10, "SOUNDS VOLUME",
                                            "[value]", "settings.volume.sounds");

            bloomSwitch      = new Button(new Vector2i(4, 24), "BLOOM", "settings.bloom", 5);
            fullscreenSwitch = new Button(new Vector2i(4, 26), "FULLSCREEN", "settings.fullscreen", 10);
            fpsLimitSlider   = new Slider(new Vector2i(4, 28), 0, 1020, 18, 480, "FPS LIMIT", "[value]",
                                          "settings.fpsLimit");
            uppercaseSwitch = new Button(new Vector2i(4, 30), "UPPERCASE NOTES", "settings.uppercaseNotes", 15);

            showFpsSwitch = new Button(new Vector2i(4, 39), "SHOW FPS", "settings.showFPS", 8);

            //_keybindsButton = new Button(new Vector2i(2, 57), "KEYBINDS", "settings.keybinds", 8);

            UpdateAllFolderSwitchButtons();
        }
Beispiel #5
0
 public static void DrawText(this Renderer renderer, Vector2i position, string text,
                             Renderer.Alignment align = Renderer.Alignment.Left, bool replacingSpaces = false,
                             bool invertOnDarkBG      = false,
                             Func <Vector2i, RenderCharacter, (Vector2i position, RenderCharacter character)> charactersModifier = null) => renderer.DrawText(position, text, ColorScheme.GetColor("foreground"), align,