void SetupInstructions()
		{
			var instructions = new Text()
			{
				Value = "Use WASD keys and mouse/touch to move",
				HorizontalAlignment = HorizontalAlignment.Center,
				VerticalAlignment = VerticalAlignment.Center
			};
			var font = ResourceCache.GetFont("Fonts/Anonymous Pro.ttf");
			instructions.SetFont(font, 15);
			UI.Root.AddChild(instructions);

			// Animating text
			Text text = new Text();
			text.Name = "animatingText";
			text.SetFont(font, 15);
			text.HorizontalAlignment = HorizontalAlignment.Center;
			text.VerticalAlignment = VerticalAlignment.Center;
			text.SetPosition(0, UI.Root.Height/4 + 20);
			UI.Root.AddChild(text);
		}
Example #2
0
		Slider CreateSlider(int x, int y, int xSize, int ySize, string text)
		{
			UIElement root = UI.Root;
			ResourceCache cache = ResourceCache;
			Font font = cache.GetFont("Fonts/Anonymous Pro.ttf");
			// Create text and slider below it
			Text sliderText = new Text();
			root.AddChild(sliderText);
			sliderText.SetPosition(x, y);
			sliderText.SetFont(font, 12);
			sliderText.Value = text;

			Slider slider = new Slider();
			root.AddChild(slider);
			slider.SetStyleAuto(null);
			slider.SetPosition(x, y + 20);
			slider.SetSize(xSize, ySize);
			// Use 0-1 range for controlling sound/music master volume
			slider.Range = 1.0f;

			return slider;
		}
Example #3
0
		void CreateUI()
		{
			var cache = ResourceCache;

			// Create a Cursor UI element because we want to be able to hide and show it at will. When hidden, the mouse cursor will
			// control the camera, and when visible, it will point the raycast target
			XmlFile style = cache.GetXmlFile("UI/DefaultStyle.xml");
			Cursor cursor = new Cursor();
			cursor.SetStyleAuto(style);
			UI.Cursor = cursor;

			// Set starting position of the cursor at the rendering window center
			var graphics = Graphics;
			cursor.SetPosition(graphics.Width / 2, graphics.Height / 2);

			// Construct new Text object, set string to display and font to use
			var instructionText = new Text();

			instructionText.Value =
				"Use WASD keys to move, RMB to rotate view\n" +
				"LMB to set destination, SHIFT+LMB to spawn a Jack\n" +
				"CTRL+LMB to teleport main agent\n" +
				"MMB to add obstacles or remove obstacles/agents\n" +
				"F5 to save scene, F7 to load\n" +
				"Space to toggle debug geometry";

			instructionText.SetFont(cache.GetFont("Fonts/Anonymous Pro.ttf"), 15);
			// The text has multiple rows. Center them in relation to each other
			instructionText.TextAlignment = HorizontalAlignment.Center;

			// Position the text relative to the screen center
			instructionText.HorizontalAlignment = HorizontalAlignment.Center;
			instructionText.VerticalAlignment = VerticalAlignment.Center;
			instructionText.SetPosition(0, UI.Root.Height / 4);
			UI.Root.AddChild(instructionText);
		}
        void CreateInstructions()
        {
            var cache = ResourceCache;
            UI ui = UI;

            // Construct new Text object, set string to display and font to use
            var instructionText = new Text();
            instructionText.Value = "Drag on the buttons to move them around.\nMulti- button drag also supported.";
            instructionText.SetFont(cache.GetFont("Fonts/Anonymous Pro.ttf"), 15);
            ui.Root.AddChild(instructionText);

            // Position the text relative to the screen center
            instructionText.HorizontalAlignment = HorizontalAlignment.Center;
            instructionText.VerticalAlignment = VerticalAlignment.Center;
            instructionText.SetPosition(0, ui.Root.Height/4);
        }
		void CreateInstructions()
		{
			var cache = ResourceCache;
			UI ui = UI;

			// Construct new Text object, set string to display and font to use
			instructionText = new Text();
			instructionText.Value = ("Use arrow up and down to control sound filtering");
			instructionText.SetFont(cache.GetFont("Fonts/Anonymous Pro.ttf"), 15);

			// Position the text relative to the screen center
			instructionText.TextAlignment = HorizontalAlignment.Center;
			instructionText.HorizontalAlignment = HorizontalAlignment.Center;
			instructionText.VerticalAlignment = VerticalAlignment.Center;
			instructionText.SetPosition(0, ui.Root.Height/4);

			ui.Root.AddChild(instructionText);
		}
Example #6
0
File: Deal.cs Project: hbons/Deal
    static void Main()
    {
        Clutter.Application.Init ();

        Stage = new Stage ();
        Stage.Title = "Deal!";
        Stage.Add (new Texture ("Pixmaps/Table.png"));
        Stage.SetSize (800, 480);
        Stage.KeyPressEvent += HandleKeyPress;

        Texture C = new Texture ("Pixmaps/Coin.png");
        C.SetSize (50, 50);
        C.SetPosition (35, 405);
        Stage.Add (C);

        Bet = 0;
        BetButton = new BetButton ();
        BetButton.ButtonPressEvent += IncreaseBet;
        Stage.Add (BetButton);

        DealButton = new DealButton ();
        DealButton.ButtonPressEvent += NewGame;
        Stage.Add (DealButton);

        StepButton = new StepButton ();
        StepButton.ButtonPressEvent += NextStep;
        Stage.Add (StepButton);

        Stack = new Stack ();
        Stack.Decrease (20);
        ScoreText = new Text ("Droid Sans Bold 21", "" + Stack.GetAmount());
        ScoreText.SetColor (new Clutter.Color (0xff, 0xff, 0xff, 0xff));
        ScoreText.SetPosition (100, 413);
        Stage.Add (ScoreText);

        Coins = new Coin [5];
        Coins [0] = new Coin ();
        Coins [1] = new Coin ();
        Coins [2] = new Coin ();
        Coins [3] = new Coin ();
        Coins [4] = new Coin ();
        for (int i = 0; i < 5; i++) {
            Coins [i].SetPosition (35, 405);
            Stage.Add (Coins [i]);
        }

        Deck = new Deck ();

        PlayerHand   = new Hand (Deck.Draw (), Deck.Draw (), Deck.Draw (), Deck.Draw (), Deck.Draw ());
        OpponentHand = new Hand (Deck.Draw (), Deck.Draw (), Deck.Draw (), Deck.Draw (), Deck.Draw ());

        SetupAnimation ();

        Stage.ShowAll();

        Clutter.Application.Run ();
    }
Example #7
0
        void CreateUpgradeBars()
        {
            var contBase = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Garage.ContBase.ResourcePath);

            // UPDGRADES
            _contUpgrade         = _root.CreateSprite();
            _contUpgrade.Texture = contBase;
            _contUpgrade.SetSize((int)(_dim.XScreenRatio * 1200), (int)(_dim.YScreenRatio * 300));
            _contUpgrade.SetPosition((int)(_dim.XScreenRatio * 0), (int)(_dim.YScreenRatio * 750));
            _contUpgrade.ImageRect = AssetsCoordinates.Generic.Garage.ContBase.TrasparentItem;

            _performanceBar = new BorderImage();
            _contUpgrade.AddChild(_performanceBar);
            _performanceBar.Texture   = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Boxes.ResourcePath);
            _performanceBar.ImageRect = AssetsCoordinates.Generic.Boxes.BoxPerformanceUpgrade;
            _performanceBar.SetSize((int)(_dim.XScreenRatio * 550), (int)(_dim.YScreenRatio * 95));
            _performanceBar.SetPosition((int)(_dim.XScreenRatio * 1000), (int)(_dim.YScreenRatio * 100));



            _suspensionsBar = new BorderImage();
            _contUpgrade.AddChild(_suspensionsBar);
            _suspensionsBar.Texture   = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Boxes.ResourcePath);
            _suspensionsBar.ImageRect = AssetsCoordinates.Generic.Boxes.BoxSuspensionUpgrade;
            _suspensionsBar.SetSize((int)(_dim.XScreenRatio * 550), (int)(_dim.YScreenRatio * 95));
            _suspensionsBar.SetPosition((int)(_dim.XScreenRatio * 1000), (int)(_dim.YScreenRatio * 200));

            _wheelBar = new BorderImage();
            _contUpgrade.AddChild(_wheelBar);
            _wheelBar.Texture   = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Boxes.ResourcePath);
            _wheelBar.ImageRect = AssetsCoordinates.Generic.Boxes.BoxWheelUpgrade;
            _wheelBar.SetSize((int)(_dim.XScreenRatio * 550), (int)(_dim.YScreenRatio * 95));
            _wheelBar.SetPosition((int)(_dim.XScreenRatio * 440), (int)(_dim.YScreenRatio * 100));

            _brakeBar = new BorderImage();
            _contUpgrade.AddChild(_brakeBar);
            _brakeBar.Texture   = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Boxes.ResourcePath);
            _brakeBar.ImageRect = AssetsCoordinates.Generic.Boxes.BoxBrakeUpgrade;
            _brakeBar.SetSize((int)(_dim.XScreenRatio * 550), (int)(_dim.YScreenRatio * 95));
            _brakeBar.SetPosition((int)(_dim.XScreenRatio * 440), (int)(_dim.YScreenRatio * 200));

            // COMPONENTS
            _contComponents         = _root.CreateSprite();
            _contComponents.Texture = contBase;
            _contComponents.SetSize(_dim.SetX(1920), _dim.SetY(300));
            _contComponents.SetPosition(_dim.SetX(0), _dim.SetY(720));
            _contComponents.ImageRect = new IntRect(0, 0, 56, 56);

            Body = new BorderImage();
            _contComponents.AddChild(Body);
            Body.Texture   = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Boxes.ResourcePath);
            Body.ImageRect = AssetsCoordinates.Generic.Boxes.ComponentBodyRed;
            Body.SetSize(_dim.SetX(150), _dim.SetY(150));
            Body.SetPosition(_dim.SetX(-300), _dim.SetY(150));
            Body.SetAlignment(HorizontalAlignment.Center, VerticalAlignment.Top);

            Engine = new BorderImage();
            _contComponents.AddChild(Engine);
            Engine.Texture   = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Boxes.ResourcePath);
            Engine.ImageRect = AssetsCoordinates.Generic.Boxes.ComponentEngineRed;
            Engine.SetSize(_dim.SetX(150), _dim.SetY(150));
            Engine.SetPosition(_dim.SetX(-130), _dim.SetY(150));
            Engine.SetAlignment(HorizontalAlignment.Center, VerticalAlignment.Top);

            Suspensions = new BorderImage();
            _contComponents.AddChild(Suspensions);
            Suspensions.Texture   = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Boxes.ResourcePath);
            Suspensions.ImageRect = AssetsCoordinates.Generic.Boxes.ComponentSuspensionRed;
            Suspensions.SetSize(_dim.SetX(150), _dim.SetY(150));
            Suspensions.SetPosition(_dim.SetX(130), _dim.SetY(150));
            Suspensions.SetAlignment(HorizontalAlignment.Center, VerticalAlignment.Top);

            Wheel = new BorderImage();
            _contComponents.AddChild(Wheel);
            Wheel.Texture   = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Boxes.ResourcePath);
            Wheel.ImageRect = AssetsCoordinates.Generic.Boxes.ComponentWheelRed;
            Wheel.SetSize(_dim.SetX(150), _dim.SetY(150));
            Wheel.SetPosition(_dim.SetX(300), _dim.SetY(150));
            Wheel.SetAlignment(HorizontalAlignment.Center, VerticalAlignment.Top);


            // UPDGRADES
            _contUpgradeCost         = _root.CreateSprite();
            _contUpgradeCost.Texture = contBase;
            _contUpgradeCost.SetSize((int)(_dim.XScreenRatio * 1200), (int)(_dim.YScreenRatio * 300));
            _contUpgradeCost.SetPosition((int)(_dim.XScreenRatio * 0), (int)(_dim.YScreenRatio * 750));
            _contUpgradeCost.ImageRect = AssetsCoordinates.Generic.Garage.ContBase.TrasparentItem;

            _performanceCost = new BorderImage();
            _contUpgradeCost.AddChild(_performanceCost);
            _performanceCost.Texture   = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Icons.ResourcePath);
            _performanceCost.ImageRect = AssetsCoordinates.Generic.Icons.UpgradeCost;
            _performanceCost.SetSize((int)(_dim.XScreenRatio * 90), (int)(_dim.YScreenRatio * 90));
            _performanceCost.SetPosition((int)(_dim.XScreenRatio * 1550), (int)(_dim.YScreenRatio * 100));

            _performanceUpBtn = new Button();
            _performanceCost.AddChild(_performanceUpBtn);
            _performanceUpBtn.Texture   = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Icons.ResourcePath);
            _performanceUpBtn.ImageRect = AssetsCoordinates.Generic.Icons.UpgradeRight;
            _performanceUpBtn.SetSize((int)(_dim.XScreenRatio * 85), (int)(_dim.YScreenRatio * 90));
            _performanceUpBtn.SetPosition((int)(_dim.XScreenRatio * 100), (int)(_dim.YScreenRatio * 0));
            _performanceUpBtn.Pressed += args => {
                UpgradeComponent(0);
            };

            perCost = new Text();
            _performanceCost.AddChild(perCost);
            perCost.SetPosition((int)(_dim.XScreenRatio * 0), (int)(_dim.YScreenRatio * 0));
            perCost.SetAlignment(HorizontalAlignment.Center, VerticalAlignment.Center);
            perCost.SetFont(_font, _dim.XScreenRatio * 20);
            perCost.SetColor(Color.Black);

            _wheelCost = new BorderImage();
            _contUpgradeCost.AddChild(_wheelCost);
            _wheelCost.Texture   = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Icons.ResourcePath);
            _wheelCost.ImageRect = AssetsCoordinates.Generic.Icons.UpgradeCost;
            _wheelCost.SetSize((int)(_dim.XScreenRatio * 90), (int)(_dim.YScreenRatio * 90));
            _wheelCost.SetPosition((int)(_dim.XScreenRatio * 345), (int)(_dim.YScreenRatio * 100));

            _wheelUpBtn = new Button();
            _wheelCost.AddChild(_wheelUpBtn);
            _wheelUpBtn.Texture   = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Icons.ResourcePath);
            _wheelUpBtn.ImageRect = AssetsCoordinates.Generic.Icons.UpgradeLeft;
            _wheelUpBtn.SetSize((int)(_dim.XScreenRatio * 85), (int)(_dim.YScreenRatio * 90));
            _wheelUpBtn.SetPosition((int)(_dim.XScreenRatio * -100), (int)(_dim.YScreenRatio * 0));
            _wheelUpBtn.Pressed += args => {
                UpgradeComponent(1);
            };

            wheCost = new Text();
            _wheelCost.AddChild(wheCost);
            wheCost.SetPosition((int)(_dim.XScreenRatio * 0), (int)(_dim.YScreenRatio * 0));
            wheCost.SetAlignment(HorizontalAlignment.Center, VerticalAlignment.Center);
            wheCost.SetFont(_font, _dim.XScreenRatio * 20);
            wheCost.SetColor(Color.Black);

            _suspensionsCost = new BorderImage();
            _contUpgradeCost.AddChild(_suspensionsCost);
            _suspensionsCost.Texture   = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Icons.ResourcePath);
            _suspensionsCost.ImageRect = AssetsCoordinates.Generic.Icons.UpgradeCost;
            _suspensionsCost.SetSize((int)(_dim.XScreenRatio * 90), (int)(_dim.YScreenRatio * 90));
            _suspensionsCost.SetPosition((int)(_dim.XScreenRatio * 1550), (int)(_dim.YScreenRatio * 200));

            _suspensionsUpBtn = new Button();
            _suspensionsCost.AddChild(_suspensionsUpBtn);
            _suspensionsUpBtn.Texture   = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Icons.ResourcePath);
            _suspensionsUpBtn.ImageRect = AssetsCoordinates.Generic.Icons.UpgradeRight;
            _suspensionsUpBtn.SetSize((int)(_dim.XScreenRatio * 85), (int)(_dim.YScreenRatio * 90));
            _suspensionsUpBtn.SetPosition((int)(_dim.XScreenRatio * 100), (int)(_dim.YScreenRatio * 0));
            _suspensionsUpBtn.Pressed += args => {
                UpgradeComponent(2);
            };

            susCost = new Text();
            _suspensionsCost.AddChild(susCost);
            susCost.SetPosition((int)(_dim.XScreenRatio * 0), (int)(_dim.YScreenRatio * 0));
            susCost.SetAlignment(HorizontalAlignment.Center, VerticalAlignment.Center);
            susCost.SetFont(_font, _dim.XScreenRatio * 20);
            susCost.SetColor(Color.Black);

            _brakeCost = new BorderImage();
            _contUpgradeCost.AddChild(_brakeCost);
            _brakeCost.Texture   = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Icons.ResourcePath);
            _brakeCost.ImageRect = AssetsCoordinates.Generic.Icons.UpgradeCost;
            _brakeCost.SetSize((int)(_dim.XScreenRatio * 90), (int)(_dim.YScreenRatio * 90));
            _brakeCost.SetPosition((int)(_dim.XScreenRatio * 345), (int)(_dim.YScreenRatio * 200));

            _brakeUpBtn = new Button();
            _brakeCost.AddChild(_brakeUpBtn);
            _brakeUpBtn.Texture   = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Icons.ResourcePath);
            _brakeUpBtn.ImageRect = AssetsCoordinates.Generic.Icons.UpgradeLeft;
            _brakeUpBtn.SetSize((int)(_dim.XScreenRatio * 85), (int)(_dim.YScreenRatio * 90));
            _brakeUpBtn.SetPosition((int)(_dim.XScreenRatio * -100), (int)(_dim.YScreenRatio * 0));
            _brakeUpBtn.Pressed += args => {
                UpgradeComponent(3);
            };

            SetUpgrade();
            SetCollectedComponents();
            GetCarImg();
        }
        void CreateRightSection()
        {
            var audio = GameInstance.Audio;

            var    cont_base  = GameInstance.ResourceCache.GetTexture2D("Textures/Garage/cont_base.png");
            Sprite containerR = new Sprite();

            containerR         = GameInstance.UI.Root.CreateSprite();
            containerR.Texture = cont_base;
            containerR.SetSize(GameInstance.ScreenInfo.SetX(960), GameInstance.ScreenInfo.SetY(1080));
            containerR.SetPosition(GameInstance.ScreenInfo.SetX(960), GameInstance.ScreenInfo.SetY(0));
            containerR.ImageRect = new IntRect(0, 0, 56, 56);

            //green sprite
            Sprite SFX = new Sprite();

            SFX.Texture   = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Boxes.ResourcePath);
            SFX.ImageRect = AssetsCoordinates.Generic.Boxes.VolumeBarGreen;
            SFX.SetSize(GameInstance.ScreenInfo.SetX(170), GameInstance.ScreenInfo.SetY(100));
            SFX.SetAlignment(HorizontalAlignment.Left, VerticalAlignment.Top);
            SFX.SetPosition(GameInstance.ScreenInfo.SetX(50), GameInstance.ScreenInfo.SetY(225));
            containerR.AddChild(SFX);

            Text SFXtext = new Text();

            SFX.AddChild(SFXtext);
            SFXtext.SetAlignment(HorizontalAlignment.Center, VerticalAlignment.Center);
            SFXtext.SetPosition(GameInstance.ScreenInfo.SetX(-10), 0);
            SFXtext.SetFont(_baseFont, GameInstance.ScreenInfo.SetX(30));
            SFXtext.Value = "SFX";

            //slider
            Slider sfxSlider = new Slider {
                Size                = new IntVector2(GameInstance.ScreenInfo.SetX(500), GameInstance.ScreenInfo.SetY(100)),
                Position            = new IntVector2(GameInstance.ScreenInfo.SetX(230), GameInstance.ScreenInfo.SetY(225)),
                HorizontalAlignment = HorizontalAlignment.Left,
                VerticalAlignment   = VerticalAlignment.Top,
                Texture             = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Boxes.ResourcePath),
                ImageRect           = AssetsCoordinates.Generic.Boxes.VolumeBarWhite,
                Range               = 1.0f
            };

            containerR.AddChild(sfxSlider);
            sfxSlider.SetStyleAuto(null);
            sfxSlider.Range = 1.0f;

            var knob = sfxSlider.Knob;

            knob.Texture   = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Boxes.ResourcePath);
            knob.ImageRect = AssetsCoordinates.Generic.Boxes.VolumeBarKnob;
            knob.SetFixedSize(GameInstance.ScreenInfo.SetX(45), GameInstance.ScreenInfo.SetY(100));
            sfxSlider.Value = audio.GetMasterGain(SoundType.Effect.ToString());

            sfxSlider.SliderChanged += (SliderChangedEventArgs args) => {
                audio.SetMasterGain(SoundType.Effect.ToString(), args.Value);
                SoundManager.Instance.EffectsGain = args.Value;
            };

            //"MAX" text
            Sprite MAX = new Sprite();

            MAX.Texture   = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Boxes.ResourcePath);
            MAX.ImageRect = AssetsCoordinates.Generic.Boxes.VolumeBarMAX;
            MAX.SetSize(GameInstance.ScreenInfo.SetX(130), GameInstance.ScreenInfo.SetY(100));
            MAX.SetAlignment(HorizontalAlignment.Left, VerticalAlignment.Top);
            MAX.SetPosition(GameInstance.ScreenInfo.SetX(750), GameInstance.ScreenInfo.SetY(225));
            containerR.AddChild(MAX);

            //green sprite
            Sprite Music = new Sprite();

            Music.Texture   = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Boxes.ResourcePath);
            Music.ImageRect = AssetsCoordinates.Generic.Boxes.VolumeBarGreen;
            Music.SetSize(GameInstance.ScreenInfo.SetX(170), GameInstance.ScreenInfo.SetY(100));
            Music.SetAlignment(HorizontalAlignment.Left, VerticalAlignment.Top);
            Music.SetPosition(GameInstance.ScreenInfo.SetX(50), GameInstance.ScreenInfo.SetY(350));
            containerR.AddChild(Music);

            Text MusicText = new Text();

            Music.AddChild(MusicText);
            MusicText.SetAlignment(HorizontalAlignment.Center, VerticalAlignment.Center);
            MusicText.SetPosition(GameInstance.ScreenInfo.SetX(-10), 0);
            MusicText.SetFont(_baseFont, GameInstance.ScreenInfo.SetX(30));
            MusicText.Value = "MUSIC";

            //slider
            Slider musicSlider = new Slider();

            containerR.AddChild(musicSlider);
            musicSlider.SetStyleAuto(null);
            musicSlider.SetPosition(GameInstance.ScreenInfo.SetX(230), GameInstance.ScreenInfo.SetY(350));
            musicSlider.SetSize(GameInstance.ScreenInfo.SetX(500), GameInstance.ScreenInfo.SetY(100));
            musicSlider.Texture   = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Boxes.ResourcePath);
            musicSlider.ImageRect = AssetsCoordinates.Generic.Boxes.VolumeBarWhite;
            musicSlider.Range     = 1.0f;

            var knobM = musicSlider.Knob;

            knobM.SetFixedSize(GameInstance.ScreenInfo.SetX(45), GameInstance.ScreenInfo.SetY(100));
            knobM.Texture     = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Boxes.ResourcePath);
            knobM.ImageRect   = AssetsCoordinates.Generic.Boxes.VolumeBarKnob;
            musicSlider.Value = audio.GetMasterGain(SoundType.Music.ToString());

            musicSlider.SliderChanged += (SliderChangedEventArgs args) => {
                audio.SetMasterGain(SoundType.Music.ToString(), args.Value);
                SoundManager.Instance.MusicGain = args.Value;
            };

            //"MAX" text
            Sprite MAX2 = new Sprite();

            MAX2.Texture   = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Boxes.ResourcePath);
            MAX2.ImageRect = AssetsCoordinates.Generic.Boxes.VolumeBarMAX;
            MAX2.SetSize(GameInstance.ScreenInfo.SetX(130), GameInstance.ScreenInfo.SetY(100));
            MAX2.SetAlignment(HorizontalAlignment.Left, VerticalAlignment.Top);
            MAX2.SetPosition(GameInstance.ScreenInfo.SetX(750), GameInstance.ScreenInfo.SetY(350));
            containerR.AddChild(MAX2);

            // FB
            Button Facebook = new Button();

            containerR.AddChild(Facebook);
            Facebook.Texture   = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Boxes.ResourcePath);
            Facebook.ImageRect = AssetsCoordinates.Generic.Boxes.Facebook;
            Facebook.SetSize(GameInstance.ScreenInfo.SetX(150), GameInstance.ScreenInfo.SetY(150));
            Facebook.SetAlignment(HorizontalAlignment.Left, VerticalAlignment.Top);
            Facebook.SetPosition(GameInstance.ScreenInfo.SetX(300), GameInstance.ScreenInfo.SetY(500));
            Facebook.Pressed += args => {
                OpenBrowser("https://www.facebook.com/smartroadsense/");
            };

            // TWITTER
            Button Twitter = new Button();

            containerR.AddChild(Twitter);
            Twitter.Texture   = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Boxes.ResourcePath);
            Twitter.ImageRect = AssetsCoordinates.Generic.Boxes.Tweeter;
            Twitter.SetSize(GameInstance.ScreenInfo.SetX(150), GameInstance.ScreenInfo.SetY(150));
            Twitter.SetAlignment(HorizontalAlignment.Left, VerticalAlignment.Top);
            Twitter.SetPosition(GameInstance.ScreenInfo.SetX(500), GameInstance.ScreenInfo.SetY(500));
            Twitter.Pressed += args => {
                OpenBrowser("https://twitter.com/smartroadsense");
            };


            Button Credits = new Button();

            containerR.AddChild(Credits);
            Credits.Texture   = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Boxes.ResourcePath);
            Credits.ImageRect = AssetsCoordinates.Generic.Boxes.Credits;
            Credits.SetSize(GameInstance.ScreenInfo.SetX(600), GameInstance.ScreenInfo.SetY(100));
            Credits.SetAlignment(HorizontalAlignment.Left, VerticalAlignment.Top);
            Credits.SetPosition(GameInstance.ScreenInfo.SetX(200), GameInstance.ScreenInfo.SetY(800));
            Credits.Pressed += args => {
                GameInstance.LaunchScene(GameScenesEnumeration.CREDITS);
            };

            Text CreditsText = new Text();

            Credits.AddChild(CreditsText);
            CreditsText.SetAlignment(HorizontalAlignment.Center, VerticalAlignment.Center);
            CreditsText.SetPosition(0, 0);
            CreditsText.SetFont(_baseFont, GameInstance.ScreenInfo.SetX(30));
            CreditsText.Value = "CREDITS";

            Credits.Visible = false;
        }
Example #9
0
        void CreateTopBar()
        {
            _blackBar = _root.CreateSprite();
            _root.AddChild(_blackBar);
            _blackBar.Texture = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.TopBar.ResourcePath);
            _blackBar.Opacity = 0.5f;
            _blackBar.SetPosition(0, (int)(_dim.YScreenRatio * 30));
            _blackBar.SetSize((int)(_dim.XScreenRatio * 2000), (int)(_dim.YScreenRatio * 140));
            _blackBar.ImageRect = AssetsCoordinates.Generic.TopBar.Rectangle;

            btnBack = new Button();
            _blackBar.AddChild(btnBack);
            btnBack.UseDerivedOpacity = false;
            btnBack.SetStyleAuto(null);
            btnBack.SetPosition(_dim.SetX(10), _dim.SetY(0));
            btnBack.HorizontalAlignment = HorizontalAlignment.Left;
            btnBack.VerticalAlignment   = VerticalAlignment.Center;
            btnBack.SetSize(_dim.SetX(120), _dim.SetY(120));
            btnBack.Texture   = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Icons.ResourcePath);
            btnBack.ImageRect = AssetsCoordinates.Generic.Icons.BntBack;
            btnBack.Pressed  += args => {
                GameInstance.LaunchScene(GameScenesEnumeration.MENU);
            };

            if (VehicleManager.Instance.UnlockedVehicles.VehicleModel.Count == 0)
            {
#if __ANDROID__
                btnBack.Visible = false;
#else
                btnBack.Visible = true;
#endif
            }

            //COINS
            Button coins = new Button();
            _blackBar.AddChild(coins);
            coins.UseDerivedOpacity = false;
            coins.SetStyleAuto(null);
            coins.SetPosition(_dim.SetX(150), _dim.SetY(0));
            coins.HorizontalAlignment = HorizontalAlignment.Left;
            coins.VerticalAlignment   = VerticalAlignment.Center;
            coins.SetSize(_dim.SetX(70), _dim.SetY(70));
            coins.Texture           = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Icons.ResourcePath);
            coins.ImageRect         = AssetsCoordinates.Generic.Icons.IconCoin;
            coins.UseDerivedOpacity = false;

            //Wallet text
            _wallet = new Text();
            coins.AddChild(_wallet);
            _wallet.SetPosition((int)(_dim.XScreenRatio * 90), (int)(_dim.YScreenRatio * 10));
            _wallet.SetFont(_font, _dim.XScreenRatio * 30);
            _wallet.Value = string.Format($"{CharacterManager.Instance.Wallet}");

            // SCREEN TITLE
            Button screen_title = new Button();
            _root.AddChild(screen_title);
            screen_title.SetStyleAuto(null);
            screen_title.SetPosition((int)(_dim.XScreenRatio * 1500), (int)(_dim.YScreenRatio * 50));
            screen_title.SetSize((int)(_dim.XScreenRatio * 400), (int)(_dim.YScreenRatio * 100));
            screen_title.Texture   = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Boxes.ResourcePath);
            screen_title.ImageRect = AssetsCoordinates.Generic.Boxes.BoxTitle;
            screen_title.Enabled   = false;

            Text buttonTitleText = new Text();
            screen_title.AddChild(buttonTitleText);
            buttonTitleText.SetAlignment(HorizontalAlignment.Center, VerticalAlignment.Center);
            buttonTitleText.SetPosition(0, 0);
            buttonTitleText.SetFont(_font, _dim.XScreenRatio * 30);
            buttonTitleText.Value = "VEHICLE SELECT";

            _screenInfo = new Text();
            _root.AddChild(_screenInfo);
            _screenInfo.SetAlignment(HorizontalAlignment.Center, VerticalAlignment.Top);
            _screenInfo.SetPosition(_dim.SetX(0), _dim.SetY(220));
            _screenInfo.SetFont(_font, _dim.SetX(40));
            _screenInfo.SetColor(Color.White);
            if (VehicleManager.Instance.UnlockedVehicles == null || VehicleManager.Instance.UnlockedVehicles.VehicleModel.Count == 0)
            {
                _screenInfo.Value = "Please select a free starting vehicle.";
            }
            else
            {
                _screenInfo.Value = "";
            }
        }
Example #10
0
 /// <summary>
 /// Sets the position of the internal text control.
 /// </summary>
 /// <param name="x"></param>
 /// <param name="y"></param>
 protected void SetTextPosition(int x, int y)
 {
     m_Text.SetPosition(x, y);
 }
Example #11
0
 private void FormatText(Text text, int yPosition)
 {
     text.SetPosition(-text.Width / 2, yPosition);
     text.SetColor(new Color(0, 0, 0, 1));
 }
Example #12
0
 public void SetLabel(int xOffset, int yOffset, Text textObject)
 {
     _label = textObject;
     _label.SetPosition(PosX + xOffset, PosY + yOffset);
 }
Example #13
0
 public void SetLabel(int xOffset, int yOffset, string text, int size = 12, string font = "")
 {
     _label = new Text(text, font, size);
     _label.SetPosition(PosX + xOffset, PosY + yOffset);
 }
        void CreateTopBar()
        {
            var black_bar = GameInstance.UI.Root.CreateSprite();

            GameInstance.UI.Root.AddChild(black_bar);
            black_bar.Texture = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.TopBar.ResourcePath);
            black_bar.Opacity = 0.5f;
            black_bar.SetPosition(GameInstance.ScreenInfo.SetX(0), GameInstance.ScreenInfo.SetY(30));
            black_bar.SetSize(GameInstance.ScreenInfo.SetX(2000), GameInstance.ScreenInfo.SetY(140));
            black_bar.ImageRect = AssetsCoordinates.Generic.TopBar.Rectangle;

            // BACK
            Button btn_back = new Button();

            GameInstance.UI.Root.AddChild(btn_back);
            btn_back.SetStyleAuto(null);
            btn_back.SetPosition(GameInstance.ScreenInfo.SetX(40), GameInstance.ScreenInfo.SetY(40));
            btn_back.SetSize(GameInstance.ScreenInfo.SetX(120), GameInstance.ScreenInfo.SetY(120));
            btn_back.Texture   = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Icons.ResourcePath);
            btn_back.ImageRect = AssetsCoordinates.Generic.Icons.BntBack;
            btn_back.Pressed  += args => {
                GameInstance.LaunchScene(GameScenesEnumeration.MENU);
            };


            //COINS
            Button coins = new Button();

            GameInstance.UI.Root.AddChild(coins);
            coins.SetStyleAuto(null);
            coins.SetPosition(GameInstance.ScreenInfo.SetX(180), GameInstance.ScreenInfo.SetY(60));
            coins.SetSize(GameInstance.ScreenInfo.SetX(75), GameInstance.ScreenInfo.SetY(70));
            coins.Texture   = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Icons.ResourcePath);
            coins.ImageRect = AssetsCoordinates.Generic.Icons.IconCoin;


            //Wallet text
            Text wallet = new Text();

            coins.AddChild(wallet);
            wallet.SetPosition(GameInstance.ScreenInfo.SetX(90), GameInstance.ScreenInfo.SetY(10));
            wallet.SetFont(_baseFont, GameInstance.ScreenInfo.SetX(30));
            int wallet_tot = CharacterManager.Instance.Wallet;

            wallet.Value = "" + wallet_tot;

            // SCREEN TITLE
            Button screen_title = new Button();

            GameInstance.UI.Root.AddChild(screen_title);
            screen_title.SetStyleAuto(null);
            screen_title.SetPosition(GameInstance.ScreenInfo.SetX(1500), GameInstance.ScreenInfo.SetY(50));
            screen_title.SetSize(GameInstance.ScreenInfo.SetX(400), GameInstance.ScreenInfo.SetY(100));
            screen_title.Texture   = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Boxes.ResourcePath);
            screen_title.Enabled   = false;
            screen_title.ImageRect = AssetsCoordinates.Generic.Boxes.BoxTitle;

            Text buttonTitleText = new Text();

            screen_title.AddChild(buttonTitleText);
            buttonTitleText.SetAlignment(HorizontalAlignment.Center, VerticalAlignment.Center);
            buttonTitleText.SetPosition(0, 0);
            buttonTitleText.SetFont(_baseFont, GameInstance.ScreenInfo.SetX(30));
            buttonTitleText.Value = "SETTINGS";
        }
        public void LoadAndAddNewTextEntryBelowPrevious(Text text)
        {
            text.LoadContent(ScreenManager.Content);

            Text previousText = null;
            foreach (UIElement uielement in ActiveUIElements)
            {
                if (uielement as Text != null)
                {
                    if (previousText != null)
                    {
                        if (uielement.Position.Y > previousText.Position.Y)
                        {
                            previousText = (Text)uielement;
                        }
                    }
                    else
                    {
                        previousText = (Text)uielement;
                    }
                }
            }

            foreach (UIElement uielement in UIElementsToAdd)
            {
                if (uielement as Text != null)
                {
                    if (previousText != null)
                    {
                        if (uielement.Position.Y > previousText.Position.Y)
                        {
                            previousText = (Text)uielement;
                        }
                    }
                    else
                    {
                        previousText = (Text)uielement;
                    }
                }
            }

            if (previousText != null)
            {
                text.SetPosition(new Vector2(0, 4 * previousText.TextOrigin.Y));
                AddUIElementRelativeTo(text, previousText);
            }
            else
            {
                AddUIElement(text);
            }
        }
Example #16
0
        void DefineCurrVehicle()
        {
            if (_selectedVehicle != null)
            {
                _selectedVehicle.Remove();
            }

            _selectedVehicle = new Button();
            _vehicleBar.AddChild(_selectedVehicle);
            _selectedVehicle.UseDerivedOpacity = false;
            _selectedVehicle.Texture           = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Garage.FullVehicles.ResourcePath);
            _currentVehicleModel = VehicleManager.Instance.GetVehicleFromId(_idDVehicle);
            _selectedVehicle.SetSize((int)(_dim.XScreenRatio * 600), (int)(_dim.YScreenRatio * 600));
            _selectedVehicle.SetPosition((int)(_dim.XScreenRatio * 650), (int)(_dim.YScreenRatio * -100));

            _selectedVehicle.Pressed += args => {
                if (VehicleManager.Instance.UnlockedVehicles.VehicleModel.Count == 0)
                {
                    if (_currentVehicleModel.UnlockCost == -1)
                    {
                        ConfirmationWindow(string.Format("You can't select this vehicle at this moment."), true);
                    }
                    else
                    {
                        // Unlock vehicle
                        VehicleManager.Instance.SelectedVehicleModel = VehicleManager.Instance.Vehicles.VehicleModel.First(v => v.IdVehicle == _idDVehicle);
                        VehicleManager.Instance.UnlockVehicle();

                        Debug.WriteLine("Unlocked vehicle " + _currentVehicleModel.IdVehicle);
                        ConfirmationWindow(string.Format("{0} unlocked!", _selectedVehicle.Name), false, true);
                    }
                }
                else if (!VehicleManager.Instance.UnlockedVehicles.VehicleModel.Exists(v => v.IdVehicle == _currentVehicleModel.IdVehicle))
                {
                    // If selected and vehicle needs to be unlocked, unlock vehicle without changing scene
                    if (_currentVehicleModel.UnlockCost != -1)
                    {
                        if (CharacterManager.Instance.Wallet >= _currentVehicleModel.UnlockCost)
                        {
                            CharacterManager.Instance.Wallet -= _currentVehicleModel.UnlockCost;
                            _wallet.Value = CharacterManager.Instance.Wallet.ToString();
                            // Unlock vehicle
                            VehicleManager.Instance.SelectedVehicleModel = VehicleManager.Instance.Vehicles.VehicleModel.First(v => v.IdVehicle == _idDVehicle);
                            VehicleManager.Instance.UnlockVehicle();

                            Debug.WriteLine("Unlocked vehicle " + _currentVehicleModel.IdVehicle);
                            ConfirmationWindow(string.Format("{0} unlocked!", _selectedVehicle.Name), false, true);
                        }
                        else
                        {
                            ConfirmationWindow(string.Format("Collect more coins to unlock this vehicle."), true);
                        }
                    }
                    else
                    {
                        var components = VehicleManager.Instance.CollectedComponentsForVehicle(_currentVehicleModel.IdVehicle).VehicleComponents;
                        if (components.Brakes && components.Performance && components.Suspensions && components.Wheels)
                        {
                            // Unlock vehicle
                            VehicleManager.Instance.SelectedVehicleModel = VehicleManager.Instance.Vehicles.VehicleModel.First(v => v.IdVehicle == _idDVehicle);
                            VehicleManager.Instance.UnlockVehicle();

                            Debug.WriteLine("Unlocked vehicle " + _currentVehicleModel.IdVehicle);
                            ConfirmationWindow(string.Format(_selectedVehicle.Name + "unlocked!"), false, true);
                        }
                        else
                        {
                            ConfirmationWindow(string.Format("Collect all four components to unlock this vehicle."), true);
                        }
                    }
                }
                else
                {
                    VehicleManager.Instance.SelectedVehicleModel = VehicleManager.Instance.Vehicles.VehicleModel.First(v => v.IdVehicle == _idDVehicle);
                    GameInstance.LaunchScene(GameScenesEnumeration.MENU);
                }
            };

            _carName = new Text();
            _selectedVehicle.AddChild(_carName);
            _carName.SetPosition(_dim.SetX(0), _dim.SetY(-80));
            _carName.SetAlignment(HorizontalAlignment.Center, VerticalAlignment.Bottom);
            _carName.SetFont(_font, _dim.SetX(40));

            _unlockCost = new Text();
            _selectedVehicle.AddChild(_unlockCost);
            _unlockCost.SetPosition(_dim.SetX(40), _dim.SetY(-30));
            _unlockCost.SetAlignment(HorizontalAlignment.Center, VerticalAlignment.Bottom);
            _unlockCost.SetFont(_font, _dim.SetX(30));
            _unlockCost.Visible = false;

            _coinIcon = new BorderImage();
            _selectedVehicle.AddChild(_coinIcon);
            _coinIcon.SetPosition(_dim.SetX(-50), _dim.SetY(-30));
            _coinIcon.SetAlignment(HorizontalAlignment.Center, VerticalAlignment.Bottom);
            _coinIcon.Visible = false;
            _coinIcon.SetSize(_dim.SetX(50), _dim.SetY(50));
            _coinIcon.Texture           = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Icons.ResourcePath);
            _coinIcon.ImageRect         = AssetsCoordinates.Generic.Icons.IconCoin;
            _coinIcon.UseDerivedOpacity = false;

            _lockedVehicle = new Sprite();
            _selectedVehicle.AddChild(_lockedVehicle);
            _lockedVehicle.SetPosition((int)(_dim.XScreenRatio * 630), (int)(_dim.YScreenRatio * 200));
            _lockedVehicle.Texture   = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Icons.ResourcePath);
            _lockedVehicle.ImageRect = AssetsCoordinates.Generic.Icons.IconLocked;
            _lockedVehicle.SetSize(_dim.SetX(100), _dim.SetY(100));
        }
        void CreateLeftSection()
        {
            Sprite MiniGameScene = new Sprite();

            MiniGameScene.Texture   = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Boxes.ResourcePath);
            MiniGameScene.ImageRect = AssetsCoordinates.Generic.Boxes.MiniGameScreen;
            MiniGameScene.SetSize(GameInstance.ScreenInfo.SetX(940), GameInstance.ScreenInfo.SetY(530));
            MiniGameScene.SetAlignment(HorizontalAlignment.Left, VerticalAlignment.Top);
            MiniGameScene.SetPosition(GameInstance.ScreenInfo.SetX(50), GameInstance.ScreenInfo.SetY(230));
            GameInstance.UI.Root.AddChild(MiniGameScene);

            Sprite PausaButton = new Sprite();

            MiniGameScene.AddChild(PausaButton);
            PausaButton.Texture   = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Boxes.ResourcePath);
            PausaButton.ImageRect = AssetsCoordinates.Generic.Boxes.PausaButton;
            PausaButton.SetSize(GameInstance.ScreenInfo.SetX(50), GameInstance.ScreenInfo.SetY(50));
            PausaButton.SetAlignment(HorizontalAlignment.Left, VerticalAlignment.Top);
            PausaButton.SetPosition(GameInstance.ScreenInfo.SetX(40), GameInstance.ScreenInfo.SetY(40));

            Buttons = new Sprite();
            MiniGameScene.AddChild(Buttons);
            Buttons.Texture   = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Boxes.ResourcePath);
            Buttons.ImageRect = AssetsCoordinates.Generic.Boxes.ButtonsLeft;
            Buttons.SetAlignment(HorizontalAlignment.Left, VerticalAlignment.Top);

            AccBrakeBtn = new Sprite();
            MiniGameScene.AddChild(AccBrakeBtn);
            AccBrakeBtn.Texture   = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Boxes.ResourcePath);
            AccBrakeBtn.ImageRect = AssetsCoordinates.Generic.Boxes.AccBrakeRight;
            AccBrakeBtn.SetAlignment(HorizontalAlignment.Left, VerticalAlignment.Top);

            Sprite ButtonsA = new Sprite();

            ButtonsA.Texture   = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Boxes.ResourcePath);
            ButtonsA.ImageRect = AssetsCoordinates.Generic.Boxes.SelectionBoxGreenPart;
            ButtonsA.SetSize(GameInstance.ScreenInfo.SetX(345), GameInstance.ScreenInfo.SetY(81));
            ButtonsA.SetAlignment(HorizontalAlignment.Left, VerticalAlignment.Top);
            ButtonsA.SetPosition(GameInstance.ScreenInfo.SetX(50), GameInstance.ScreenInfo.SetY(800));
            GameInstance.UI.Root.AddChild(ButtonsA);

            Text b1 = new Text();

            ButtonsA.AddChild(b1);
            b1.SetAlignment(HorizontalAlignment.Center, VerticalAlignment.Center);
            b1.SetPosition(0, 0);
            b1.SetFont(_baseFont, GameInstance.ScreenInfo.SetX(30));
            b1.Value = "BUTTONS";


            Button ButtonsB = new Button();

            ButtonsB.Texture   = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Boxes.ResourcePath);
            ButtonsB.ImageRect = AssetsCoordinates.Generic.Boxes.SelectionBoxWhitePart;
            ButtonsB.SetSize(GameInstance.ScreenInfo.SetX(595), GameInstance.ScreenInfo.SetY(81));
            ButtonsB.SetAlignment(HorizontalAlignment.Left, VerticalAlignment.Top);
            ButtonsB.SetPosition(GameInstance.ScreenInfo.SetX(395), GameInstance.ScreenInfo.SetY(800));
            GameInstance.UI.Root.AddChild(ButtonsB);

            b2 = new Text();
            ButtonsB.AddChild(b2);
            b2.SetAlignment(HorizontalAlignment.Center, VerticalAlignment.Center);
            b2.SetPosition(0, 0);
            b2.SetFont(_baseFont, GameInstance.ScreenInfo.SetX(30));

            ButtonsB.Pressed += args => {
                switch (ButtonDimensions)
                {
                case GameplayButtonSize.SMALL:
                    b2.Value         = "MEDIUM";
                    ButtonDimensions = GameplayButtonSize.MEDIUM;
                    SettingsManager.Instance.GameplayButtonSize = GameplayButtonSize.MEDIUM;
                    SetButtonConfig();
                    break;

                case GameplayButtonSize.MEDIUM:
                    b2.Value         = "LARGE";
                    ButtonDimensions = GameplayButtonSize.LARGE;
                    SettingsManager.Instance.GameplayButtonSize = GameplayButtonSize.LARGE;
                    SetButtonConfig();
                    break;

                case GameplayButtonSize.LARGE:
                    b2.Value         = "SMALL";
                    ButtonDimensions = GameplayButtonSize.SMALL;
                    SettingsManager.Instance.GameplayButtonSize = GameplayButtonSize.SMALL;
                    SetButtonConfig();
                    break;
                }
            };


            Sprite AccBrake = new Sprite();

            AccBrake.Texture   = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Boxes.ResourcePath);
            AccBrake.ImageRect = AssetsCoordinates.Generic.Boxes.SelectionBoxGreenPart;
            AccBrake.SetSize(GameInstance.ScreenInfo.SetX(345), GameInstance.ScreenInfo.SetY(81));
            AccBrake.SetAlignment(HorizontalAlignment.Left, VerticalAlignment.Top);
            AccBrake.SetPosition(GameInstance.ScreenInfo.SetX(50), GameInstance.ScreenInfo.SetY(900));
            GameInstance.UI.Root.AddChild(AccBrake);

            Text a1 = new Text();

            AccBrake.AddChild(a1);
            a1.SetAlignment(HorizontalAlignment.Center, VerticalAlignment.Center);
            a1.SetPosition(0, 0);
            a1.SetFont(_baseFont, GameInstance.ScreenInfo.SetX(30));
            a1.Value = "ACC./BRAKE";

            Button AccBrakeB = new Button();

            AccBrakeB.Texture   = GameInstance.ResourceCache.GetTexture2D(AssetsCoordinates.Generic.Boxes.ResourcePath);
            AccBrakeB.ImageRect = AssetsCoordinates.Generic.Boxes.SelectionBoxWhitePart;
            AccBrakeB.SetSize(GameInstance.ScreenInfo.SetX(595), GameInstance.ScreenInfo.SetY(81));
            AccBrakeB.SetAlignment(HorizontalAlignment.Left, VerticalAlignment.Top);
            AccBrakeB.SetPosition(GameInstance.ScreenInfo.SetX(395), GameInstance.ScreenInfo.SetY(900));
            GameInstance.UI.Root.AddChild(AccBrakeB);

            a2 = new Text();
            AccBrakeB.AddChild(a2);
            a2.SetAlignment(HorizontalAlignment.Center, VerticalAlignment.Center);
            a2.SetPosition(0, 0);
            a2.SetFont(_baseFont, GameInstance.ScreenInfo.SetX(30));

            AccBrakeB.Pressed += args => {
                if (ButtonOrientation == ControllerPosition.LEFT_CONTROLLER)
                {
                    ButtonOrientation = ControllerPosition.RIGHT_CONTROLLER;
                    SettingsManager.Instance.ControllerLayout = ControllerPosition.RIGHT_CONTROLLER;
                    SetButtonConfig();
                }
                else
                {
                    a2.Value          = "RIGHT";
                    ButtonOrientation = ControllerPosition.LEFT_CONTROLLER;
                    SettingsManager.Instance.ControllerLayout = ControllerPosition.LEFT_CONTROLLER;
                    SetButtonConfig();
                }
            };
        }