Exemplo n.º 1
0
        private void initializeSprites()
        {
            SkinManager.CreateUserSkin();

            GameBase.TransitionManager.ClearBackground(false);

            BeatmapTreeItem.LoadSkinElements();

            treeManager = new BeatmapTreeManager(GameBase.Instance);
            treeManager.SpriteManagerPanels.SetVisibleArea(new RectangleF(0, 0, 1280, 720) / GameBase.WindowManager.Ratio);

            treeManager.OnEndRandom += endRandom;


            pTexture backgroundTex = TextureManager.Load(Path.Combine(Tournament.Tournament.SkinDirectory, @"drawings-background.jpg"), SkinSource.Skin);

            backgroundTex = backgroundTex ?? TextureManager.Load(@"drawings-background", SkinSource.Skin);
            backgroundTex = backgroundTex ?? TextureManager.Load(@"menu-background", SkinSource.Osu);

            pSprite p;

            baseSpriteManager.Add(p = new pSprite(backgroundTex, Fields.TopLeft, Origins.TopLeft, Clocks.Game, Vector2.Zero, 0f, true, Color.White));
            p.Scale = Math.Max(1280f / GameBase.WindowManager.Ratio / p.Width, 720f / GameBase.WindowManager.Ratio / p.Height) * 1.6f;

            int x = GameBase.WindowManager.WidthScaled - 200;
            int y = 380;

            baseSpriteManager.Add((randButton = new pButton(@"Begin random", new Vector2(x, y), new Vector2(80, 15), 1f, Color.YellowGreen, delegate
            {
                if (treeManager.IsRandomActive)
                {
                    RandomMultiple = 1.3f;
                    randButton.Text.Text = @"Begin random";
                }
                else
                {
                    if (!canAddTeam)
                    {
                        return;
                    }

                    if (treeManager.beatmapSetVisibleCount == 0)
                    {
                        return;
                    }

                    startRandom();

                    if (treeManager.beatmapVisibleCount == 1)
                    {
                        endRandom();
                        return;
                    }

                    RandomMultiple = 1f;
                    treeManager.StartRandom();
                    randButton.Text.Text = @"End random";
                }
            })).SpriteCollection);

            y += 16;

            baseSpriteManager.Add(new pButton(@"Quick-add current", new Vector2(x, y), new Vector2(80, 15), 1f, Color.YellowGreen, delegate
            {
                if (treeManager.beatmapSetVisibleCount == 0)
                {
                    return;
                }

                if (treeManager.IsRandomActive)
                {
                    return;
                }
                if (!firstRandom)
                {
                    startRandom();
                }
                else
                {
                    endRandom();
                    firstRandom = false;
                    startRandom();
                }
                firstRandom = true;
            }, true, false, 10).SpriteCollection);

            y += 16;

            baseSpriteManager.Add(new pButton(@"Reload teams", new Vector2(x, y), new Vector2(80, 15), 1f, Color.YellowGreen, delegate
            {
                reload();
            }).SpriteCollection);

            y += 16;

            baseSpriteManager.Add(new pButton(@"Reset", new Vector2(x, y), new Vector2(80, 15), 1f, Color.Red, delegate
            {
                if (TopMostMessageBox.Show("Are you sure you want to reset the teams?", "Reset teams", MessageBoxButtons.OKCancel) == DialogResult.OK)
                {
                    reset();
                }
            }).SpriteCollection);

            y += 16;

            baseSpriteManager.Add(new pButton(@"Exit", new Vector2(x, y), new Vector2(80, 15), 1f, Color.Red, delegate
            {
                GameBase.BeginExit();
            }).SpriteCollection);

            for (int i = 0; i < groupCount; i++)
            {
                groups.Add(new Group(spriteManagerAbove, i));
            }
        }
Exemplo n.º 2
0
        internal void PopulateSprites()
        {
            SpriteCollection = new List <pSprite>();

            if (TreeLevel != null)
            {
            }
            else if (Beatmap != null && (Beatmap.BeatmapPresent || GameBase.Mode == Modes.SelectEdit))
            {
                Color thisColour;
                if (BeatmapManager.NewFiles.Contains(Beatmap.BeatmapChecksum))
                {
                    thisColour = new Color(241, 139, 159, 230);
                }
                else if (!Beatmap.BeatmapPresent)
                {
                    thisColour =
                        new Color(Color.MediumSlateBlue.R, Color.MediumSlateBlue.G, Color.MediumSlateBlue.B, 220);
                }
                else
                {
                    thisColour = crimson;
                }

                string text = Beatmap.SortTitle;
                string text2;
                if (Beatmap.Title.Length > 0)
                {
                    text2 = Beatmap.Creator;
                }
                else
                {
                    text2 = "unknown creator";
                }

                pSprite pb =
                    new pSprite(SkinManager.Load("menu-button-background"), FieldTypes.Window,
                                OriginTypes.CentreLeft,
                                ClockTypes.Game,
                                new Vector2(300, 0), BeatmapTreeManager.drawDepth, true, thisColour, Beatmap);
                //pBeatmap.OnClick += pb_OnClick;
                pb.IsClickable = true;
                pb.HoverEffect = new Transformation(TransformationType.Scale, 1F, 1.4F, 0, 200);

                UnselectedColour = thisColour;

                BeatmapTreeManager.IncreaseDepth();

                SpriteCollection.Add(pb);

                pText pt =
                    new pText(text, 14, new Vector2(310, 0), Vector2.Zero, BeatmapTreeManager.drawDepth, true,
                              Color.White, false);
                pt.Tag = pb;
                pt.ExactCoordinates = (GameBase.WindowWidth <= 640);
                pt.OriginPosition   = new Vector2(-20, 39) * GameBase.WindowRatioInverse;
                pt.OriginPosition.X = (int)pt.OriginPosition.X;
                pt.OriginPosition.Y = (int)pt.OriginPosition.Y;
                SpriteCollection.Add(pt);

                pt =
                    new pText(text2, 14, new Vector2(310, 0), Vector2.Zero, BeatmapTreeManager.drawDepth, true,
                              Color.White, false);
                pt.Tag = pb;
                pt.ExactCoordinates = (GameBase.WindowWidth <= 640);
                pt.OriginPosition   = new Vector2(-280, 10) * GameBase.WindowRatioInverse;
                pt.OriginPosition.X = (int)pt.OriginPosition.X;
                pt.OriginPosition.Y = (int)pt.OriginPosition.Y;
                SpriteCollection.Add(pt);

                pSprite p;

                /*pSprite p =
                 *  new pSprite(GameBase.JapaneseFont, text, FieldTypes.Window, OriginTypes.TopLeft,
                 *              ClockTypes.Game,
                 *              new Vector2(310, 0), BeatmapTreeManager.drawDepth, true, Color.White, pb);
                 * p.OriginPosition = new Vector2(-20, 35);
                 *
                 * SpriteCollection.Add(p);
                 *
                 * pSprite p = new pSprite(GameBase.JapaneseFont, text2, FieldTypes.Window, OriginTypes.TopLeft,
                 *              ClockTypes.Game,
                 *              new Vector2(310, 0), BeatmapTreeManager.drawDepth, true, Color.White, pb);
                 * p.OriginPosition = new Vector2(-240, 3);
                 *
                 * SpriteCollection.Add(p);
                 */


                BeatmapTreeManager.IncreaseDepth();

                rankSprite = new pSprite(Beatmap.PlayerRank > Rankings.D ? null : SkinManager.Load("ranking-" + Beatmap.PlayerRank + "-small"), Vector2.Zero, BeatmapTreeManager.drawDepth, true, Color.White);
                rankSprite.OriginPosition = new Vector2(-20, 12);
                SpriteCollection.Add(rankSprite);

                int starcount = 0;


                for (double i = Beatmap.DifficultyEyupStars; i > 0; i--)
                {
                    if (i > 0.75)
                    {
                        p = new pSprite(SkinManager.Load("star"), FieldTypes.Window,
                                        OriginTypes.TopLeft,
                                        ClockTypes.Game,
                                        new Vector2(300, 0), BeatmapTreeManager.drawDepth, true, Color.White, Beatmap);
                        p.CurrentScale   = 0.8F;
                        p.TagNumeric     = -20;
                        p.OriginPosition = new Vector2(-75 - starcount++ *52, 14);
                        SpriteCollection.Add(p);
                    }
                    else if (i > 0.25)
                    {
                        p = new pSprite(SkinManager.Load("star"), FieldTypes.Window,
                                        OriginTypes.TopLeft,
                                        ClockTypes.Game,
                                        new Vector2(300, 0), BeatmapTreeManager.drawDepth, true, Color.White, Beatmap);
                        p.DrawWidth      = 26;
                        p.CurrentScale   = 0.8F;
                        p.TagNumeric     = -20;
                        p.OriginPosition = new Vector2(-75 - starcount++ *52, 14);
                        SpriteCollection.Add(p);
                    }
                }
            }
            else if (Beatmap == null)
            {
                pSprite pb =
                    new pSprite(SkinManager.Load("menu-button-background"), FieldTypes.Window,
                                OriginTypes.CentreLeft,
                                ClockTypes.Game,
                                new Vector2(300, 0), BeatmapTreeManager.drawDepth, true, colourRootInactive,
                                TreeLevel);
                //pBeatmap.OnClick += pb_OnClick;
                pb.IsClickable = true;
                pb.HoverEffect = new Transformation(TransformationType.Scale, 1F, 1.4F, 0, 200);
                SpriteCollection.Add(pb);

                UnselectedColour = colourRootInactive;

                BeatmapTreeManager.IncreaseDepth();

                pText pt =
                    new pText(String.Format("- {0} -", NameRaw), 24, new Vector2(300, 0), Vector2.Zero,
                              BeatmapTreeManager.drawDepth, true, Color.White, false);
                pt.Tag              = pb;
                pt.OriginPosition   = new Vector2(-20, 24) * GameBase.WindowRatioInverse;
                pt.OriginPosition.X = (int)pt.OriginPosition.X;
                pt.OriginPosition.Y = (int)pt.OriginPosition.Y;
                pt.ExactCoordinates = (GameBase.WindowWidth <= 640);

                SpriteCollection.Add(pt);

                /*
                 * pSprite p =
                 *  new pSprite(GameBase.SmallFont, String.Format("- {0} -", NameRaw), FieldTypes.Window,
                 *              OriginTypes.CentreLeft,
                 *              ClockTypes.Game,
                 *              new Vector2(300, 0), BeatmapTreeManager.drawDepth, true, Color.White, pb);
                 * p.CurrentScale = 1.3F;
                 * p.TagNumeric = 30;
                 * p.OriginPosition = new Vector2(-20, 0);
                 * SpriteCollection.Add(p);*/
            }


            BeatmapTreeManager.IncreaseDepth();
        }