コード例 #1
0
        internal void RefreshDisplay()
        {
            pa.ClearSprites(false);

            const int height = 17;

            int currentHeight = 0;

            bool editor = false;

            for (int i = 1; i < BindingManager.BindingNames.Length; i++)
            {
                string na = BindingManager.BindingNames[i];

                //Check for skip flag
                if (na.StartsWith(@"__"))
                {
                    continue;
                }

                bool header = na[0] == '_';

                if (header)
                {
                    na = na.Substring(1);
                }


                pText naText = new pText(na, header ? 16 : 14, new Vector2(0, currentHeight),
                                         new Vector2(402, height), header ? 0.97f : 0.98f, true, Color.White, false);
                pa.ContentSpriteManager.Add(naText);

                naText.BackgroundColour = Color.Black;

                if (header)
                {
                    naText.TextColour    = Color.YellowGreen;
                    naText.TextAlignment = TextAlignment.Centre;
                }
                else
                {
                    naText.BorderWidth  = 2;
                    naText.BorderColour = Color.LightGray;

                    naText.HandleInput = true;
                    naText.OnHover    += delegate
                    {
                        naText.BackgroundColour = Color.Gray;
                        naText.TextColour       = Color.Black;
                        naText.TextChanged      = true;
                    };
                    naText.OnHoverLost += delegate
                    {
                        naText.BackgroundColour = Color.Black;
                        naText.TextColour       = Color.White;
                        naText.TextChanged      = true;
                    };

                    string   name = na;
                    Bindings b    = (Bindings)i;

                    naText.OnClick += delegate { startBinding(b, name); };
                    naText.ClickRequiresConfirmation = true;
                    naText.TextAlignment             = TextAlignment.LeftFixed;


                    pText naText2 = new pText(BindingManager.NiceName((Bindings)i), 12, new Vector2(300, currentHeight + 1),
                                              new Vector2(100, height - 2), 1, true, Color.Gold, false);
                    naText2.BackgroundColour = new Color(0, 0, 0, 160);
                    naText2.BorderWidth      = 2;
                    naText2.BorderColour     = Color.LightGray;
                    naText2.TextAlignment    = TextAlignment.Centre;

                    pa.ContentSpriteManager.Add(naText2);
                }

                currentHeight += height;
            }

            pText reset = new pText(LocalisationManager.GetString(OsuString.Options_ResetAllBindings), 14, new Vector2(0, currentHeight),
                                    new Vector2(402, height), 0.98f, true, Color.White, false);

            reset.BorderColour     = Color.LightGray;
            reset.BackgroundColour = Color.Black;
            reset.TextColour       = Color.White;

            reset.HandleInput = true;
            reset.OnHover    += delegate
            {
                reset.BackgroundColour = Color.Red;
                reset.TextChanged      = true;
            };
            reset.OnHoverLost += delegate
            {
                reset.BackgroundColour = Color.Black;
                reset.TextChanged      = true;
            };

            reset.OnClick += delegate
            {
                //pDialogConfirmation d = new pDialogConfirmation(LocalisationManager.GetString(OsuString.Options_ResetAllBindings_Confirm), delegate
                //{
                BindingManager.Initialize(true);
                RefreshDisplay();
                pa.ScrollToPosition(0, -0.99f);
                //}, null);
                //GameBase.ShowDialog(d);
            };
            reset.TextAlignment = TextAlignment.Centre;

            currentHeight += height;

            pa.ContentSpriteManager.Add(reset);

            pa.SetContentDimensions(new Vector2(510, currentHeight));
        }
コード例 #2
0
ファイル: Ranking.cs プロジェクト: notperry1234567890/osu
        protected virtual void InitializeSpecifics()
        {
            pText pt =
                new pText(BeatmapManager.Current.DisplayTitle, 22, new Vector2(0, 0), Vector2.Zero, 0.991F, true,
                          Color.White, false);

            pt.ViewOffsetImmune = true;
            spriteManagerWideScrolling.Add(pt);

            pt =
                new pText("Beatmap by " + BeatmapManager.Current.Creator, 16, new Vector2(1, 20), Vector2.Zero, 0.991F,
                          true, Color.White, false);
            pt.ViewOffsetImmune = true;
            spriteManagerWideScrolling.Add(pt);

            pt = new pText(string.Format("Played by {0} on {1}.", score.PlayerName, score.Date.ToLocalTime()), 16, new Vector2(1, 34), Vector2.Zero,
                           0.991F, true, Color.White, false);
            pt.ViewOffsetImmune = true;
            spriteManagerWideScrolling.Add(pt);

            float buttonPosition = 360;

            if (!ReplayMode)
            {
                if (SkinManager.UseNewLayout)
                {
                    b_retry = new pSprite(TextureManager.Load(@"pause-retry"), Fields.TopRight,
                                          Origins.CentreRight,
                                          Clocks.Game,
                                          new Vector2(0, buttonPosition), 0.94F, true,
                                          new Color(255, 255, 255, 178));
                }
                else
                {
                    b_retry =
                        new pSprite(TextureManager.Load(@"ranking-retry"), Fields.TopRight,
                                    Origins.CentreRight,
                                    Clocks.Game,
                                    new Vector2(0, buttonPosition), 0.94F, true,
                                    new Color(255, 255, 255, 178));
                }
                b_retry.OnClick    += retry_OnClick;
                b_retry.HandleInput = true;
                b_retry.HoverEffect = new Transformation(TransformationType.Fade, 0.7F, 1, 0, 200);
                spriteManagerWideScrolling.Add(b_retry);

                buttonPosition += 60;
            }

            if ((score.Replay != null && score.Replay.Count > 0) ||
                score.ReplayCompressed != null ||
                score.LocalReplayPresent ||
                score.HasOnlineReplay)
            {
                if (!GameBase.Tournament)
                {
                    if (SkinManager.UseNewLayout)
                    {
                        b_replay =
                            new pSprite(TextureManager.Load(@"pause-replay"), Fields.TopRight,
                                        Origins.CentreRight,
                                        Clocks.Game,
                                        new Vector2(0, buttonPosition), 0.94F, true,
                                        new Color(255, 255, 255, 178));
                    }
                    else
                    {
                        b_replay =
                            new pSprite(TextureManager.Load(@"ranking-replay"), Fields.TopRight,
                                        Origins.CentreRight,
                                        Clocks.Game,
                                        new Vector2(0, buttonPosition), 0.94F, true,
                                        new Color(255, 255, 255, 178));
                    }


                    b_replay.OnClick    += replay_OnClick;
                    b_replay.HandleInput = true;
                    b_replay.HoverEffect = new Transformation(TransformationType.Fade, 0.7F, 1, 0, 200);
                    spriteManagerWideScrolling.Add(b_replay);

                    buttonPosition += 60;
                }
            }

            if (rankingDialog != null)
            {
                onlineRankingButton = new pButton("▼ Online Ranking ▼", new Vector2(GameBase.WindowManager.WidthScaled / 2 - 100, GameBase.WindowManager.HeightScaled - 26), new Vector2(200, 30), 0.95f, Color.BlueViolet, delegate { scrollableArea.ScrollToPosition(GameBase.WindowManager.HeightScaled * 0.875f, -0.99f); }, true, false, null, false);
                spriteManagerWideAbove.Add(onlineRankingButton.SpriteCollection);
            }
        }