Exemple #1
0
        private void PrepareInterfaceForBonus(BonusType bonus)
        {
            switch (bonus)
            {
            case BonusType.None:
            {
                if (frozenStars != null)
                {
                    frozenStars.Visible = false;
                    frozenStars.Enabled = false;
                }

                btnControlLeft.Enabled   = true;
                btnControlRight.Enabled  = true;
                btnControlFall.Enabled   = true;
                btnControlRotate.Enabled = true;
            } break;

            case BonusType.TimeSlowdown:
            {
                if (frozenStars != null)
                {
                    frozenStars.Visible = true;
                    frozenStars.Enabled = true;
                }
                else
                {
                    frozenStars = new BreathingObject(this)
                    {
                        SpriteImage = Contents.Sprites.FrozenStars,
                        Position    = new Vector2(0),
                        Size        = this.Size,
                        LayerDepth  = 0.06f,
                        MinScale    = 0.98f,
                        MaxScale    = 1.02f,
                        Loop        = true,
                        TimerLimit  = 10000
                    };
                    Objects.Add(frozenStars);
                }

                btnControlLeft.Enabled   = true;
                btnControlRight.Enabled  = true;
                btnControlFall.Enabled   = true;
                btnControlRotate.Enabled = true;
            } break;

            case BonusType.Laser:
            {
                btnControlRotate.Enabled = false;
            } break;

            case BonusType.SwipeCubes:
            {
                btnControlRotate.Enabled = false;
                btnControlFall.Enabled   = false;
            } break;
            }
        }
Exemple #2
0
        protected override void Initialize()
        {
            FullScreen = true;
            Background = Contents.Sprites.Game_Background;

            selectebleGameModes = availableGameModes.ToList(); // fill modes that i can select from
            SelectedGameMode    = selectebleGameModes[selectebleGameModes.FindIndex(mode => mode == GameMode.Normal)];

            GameObject objToAdd;
            var        padding      = 30;
            var        btnSize      = new Vector2(Size.X - 2 * padding, 75);
            var        btnTextSize  = (int)(btnSize.Y * 0.45f);
            var        btnPadding   = 35;
            var        btnCount     = 4;
            var        btnStartPosY = (Size.Y - ((btnCount * btnSize.Y) + ((btnCount - 1) * btnPadding))) / 2;

            hider = new ObjectHider(this)
            {
                HideTimePeriod = 500
            };
            Objects.Add(hider);

            ////// ADDING BUTTONS //////
            //// EXIT BUTTON ////
            //var btnPauseSize = 100;
            //objToAdd = Bank.Buttons.GetPlainButtonWithText(this);
            //objToAdd.SpriteImage = Contents.Sprites.Button_exit;
            //objToAdd.Size = new Vector2(btnPauseSize);
            //objToAdd.Position = new Vector2(15, 15);
            //(objToAdd as Button).Click += btnFinish_Click;
            //Objects.Add(objToAdd);
            //hider.HideObject(objToAdd, HidePlace.Top);

            var nameSize = new Vector2(Size.X - 15, 25);

            objToAdd = new GameObject(this)
            {
                Size           = nameSize,
                Position       = new Vector2(0, 15),
                TextSpriteFont = Contents.Fonts.PixelArtTextFont,
                Text           = Constants.Texts.Creator,
                TextColor      = Color.White,
                TextHeight     = (int)(nameSize.Y * 0.8f),
                TextAlignment  = TextAlignment.Right,
                ShowText       = true,
                LayerDepth     = 0.05f,
            };
            Objects.Add(objToAdd);
            hider.HideObject(objToAdd, HidePlace.Top);

            //// PLAY BUTTON ////
            var playButtonSize = new Vector2(280, 180);

            objToAdd                    = Bank.Buttons.GetPlainButtonWithText(this);
            objToAdd.SpriteImage        = Contents.Sprites.Button_play;
            objToAdd.Size               = playButtonSize;
            objToAdd.Position           = new Vector2((Size.X - objToAdd.Size.X) / 2, Size.Y - objToAdd.Size.Y - padding);
            (objToAdd as Button).Click += btnPlayGame_Click;
            Objects.Add(objToAdd);
            hider.HideObject(objToAdd, HidePlace.Bottom);

            var playButtonsPosition = objToAdd.Position;
            var sideButtonsSize     = new Vector2(136, 112);

            //// SETTINGS BUTTON ////
            objToAdd                    = Bank.Buttons.GetPlainButtonWithText(this);
            objToAdd.SpriteImage        = Contents.Sprites.Button_settings;
            objToAdd.Size               = sideButtonsSize;
            objToAdd.Position           = new Vector2((playButtonsPosition.X - sideButtonsSize.X) / 2, playButtonsPosition.Y + (playButtonSize.Y - sideButtonsSize.Y) / 2);
            (objToAdd as Button).Click += btnSettings_Click;
            Objects.Add(objToAdd);
            hider.HideObject(objToAdd, HidePlace.Left);

            var offset = playButtonsPosition.X + playButtonSize.X;

            //// HIGHSCORE BUTTON ////
            objToAdd                    = Bank.Buttons.GetPlainButtonWithText(this);
            objToAdd.SpriteImage        = Contents.Sprites.Button_highscore;
            objToAdd.Size               = sideButtonsSize;
            objToAdd.Position           = new Vector2(offset + (Size.X - offset - sideButtonsSize.X) / 2, playButtonsPosition.Y + (playButtonSize.Y - sideButtonsSize.Y) / 2);
            (objToAdd as Button).Click += btnHighscore_click;
            Objects.Add(objToAdd);
            hider.HideObject(objToAdd, HidePlace.Right);

            var gamemodeTextSize = 45;

            //// GAMEMODE LABEL ////
            lblSelectedGameMode                = new GameObject(this);
            lblSelectedGameMode.Size           = new Vector2(Size.X, gamemodeTextSize);
            lblSelectedGameMode.Position       = new Vector2(0, playButtonsPosition.Y - 4 * padding - lblSelectedGameMode.Size.Y);
            lblSelectedGameMode.LayerDepth     = 0.04f;
            lblSelectedGameMode.Alpha          = 1f;
            lblSelectedGameMode.TextSpriteFont = Contents.Fonts.PixelArtTextFont;
            lblSelectedGameMode.TextAlignment  = TextAlignment.Center;
            lblSelectedGameMode.TextHeight     = gamemodeTextSize;
            lblSelectedGameMode.ShowText       = true;
            lblSelectedGameMode.TextColor      = Color.White;
            lblSelectedGameMode.Text           = selectedGameMode.ToString().ToUpper();
            Objects.Add(lblSelectedGameMode);
            hider.HideObject(lblSelectedGameMode, HidePlace.Bottom);

            var modeLabelTextSize = 23;

            //// MODE LABEL ////
            objToAdd                = new GameObject(this);
            objToAdd.Size           = new Vector2(Size.X, modeLabelTextSize);
            objToAdd.Position       = new Vector2(0, lblSelectedGameMode.Position.Y - 2 * padding - objToAdd.Size.Y);
            objToAdd.LayerDepth     = 0.04f;
            objToAdd.Alpha          = 1f;
            objToAdd.TextSpriteFont = Contents.Fonts.PixelArtTextFont;
            objToAdd.TextAlignment  = TextAlignment.Center;
            objToAdd.TextHeight     = modeLabelTextSize;
            objToAdd.ShowText       = true;
            objToAdd.TextColor      = Color.White;
            objToAdd.Text           = Constants.Texts.SelectGame;
            Objects.Add(objToAdd);
            hider.HideObject(objToAdd, HidePlace.Bottom);

            var arrowButtonsSize = new Vector2(60, 112);

            //// SELECT LEFT GAMEMODE BUTTON ////
            objToAdd                    = Bank.Buttons.GetPlainButtonWithText(this);
            objToAdd.SpriteImage        = Contents.Sprites.Button_left;
            objToAdd.Size               = arrowButtonsSize;
            objToAdd.Position           = new Vector2(padding, lblSelectedGameMode.Position.Y + (lblSelectedGameMode.Size.Y - arrowButtonsSize.Y) / 2);
            (objToAdd as Button).Click += btnSelectLeft_Click;
            Objects.Add(objToAdd);
            hider.HideObject(objToAdd, HidePlace.Left);

            //// SELECT RIGHT GAMEMODE BUTTON ////
            objToAdd                    = Bank.Buttons.GetPlainButtonWithText(this);
            objToAdd.SpriteImage        = Contents.Sprites.Button_right;
            objToAdd.Size               = arrowButtonsSize;
            objToAdd.Position           = new Vector2(Size.X - padding - arrowButtonsSize.X, lblSelectedGameMode.Position.Y + (lblSelectedGameMode.Size.Y - arrowButtonsSize.Y) / 2);
            (objToAdd as Button).Click += btnSelectRight_Click;
            Objects.Add(objToAdd);
            hider.HideObject(objToAdd, HidePlace.Right);

            //// ADDING STAR SYSTEM ////
            //objToAdd = new StarSystem(this, new Vector2(720, 664), new Vector2(0, 40));
            objToAdd            = new StarSystem(this, new Vector2(680, 1200), new Vector2(20, 40));
            objToAdd.LayerDepth = 0.039f;
            (objToAdd as StarSystem).Start(218884, 1, 3, 3, 5, 15);
            Objects.Add(objToAdd);

            //// ADDING LOGO ////
            var logo = new BreathingObject(this)
            {
                SpriteImage = Contents.Sprites.Logo,
                Position    = new Vector2(0, 140),
                Size        = new Vector2(720, 256),
                LayerDepth  = 0.05f,
                MaxScale    = 1f,
                MinScale    = 0.9f,
                TimerLimit  = 5000,
                Timer       = 2500
            };

            Objects.Add(logo);
            hider.HideObject(logo, HidePlace.Top);

            objToAdd                    = Bank.Buttons.GetPlainButton(this);
            objToAdd.Alpha              = 0f;
            objToAdd.Position           = new Vector2(0, 140);
            objToAdd.Size               = new Vector2(720, 256);
            (objToAdd as Button).Click += ((sender, e) => { logo.BreathIn(); });
            Objects.Add(objToAdd);
            hider.HideObject(objToAdd, HidePlace.Top);

            hider.Hide(false);
            hider.AllHidden += Hider_AllHidden;

            //// ADDING TAP START BUTTON ////
            btnTapToStart          = Bank.Buttons.GetPlainButtonWithText(this);
            btnTapToStart.Position = new Vector2(0, 0);
            btnTapToStart.Size     = this.Size;
            btnTapToStart.Alpha    = 0f;
            btnTapToStart.Click   += TapStartButton_Click;
            btnTapToStart.Hover   += TapStartButton_Click;
            Objects.Add(btnTapToStart);

            tapToStart = new BreathingObject(this)
            {
                Position       = new Vector2(0, Size.Y / 2),
                Size           = new Vector2(Size.X, Size.Y / 2),
                TextSpriteFont = Contents.Fonts.PixelArtTextFont,
                Text           = Constants.Texts.TapToStart,
                TextColor      = new Color(252, 239, 0),
                TextHeight     = 50,
                TextAlignment  = TextAlignment.Center,
                ShowText       = true,
                LayerDepth     = 0.05f,
                MaxScale       = 1f,
                MinScale       = 0.8f,
                MaxAlpha       = 1f,
                MinAlpha       = 0.4f,
                TimerLimit     = 4000,
                Timer          = 2000,
            };
            Objects.Add(tapToStart);
        }