public override void Initialize() { //background baseSpriteManager.Add(new pSprite(GameBase.WhitePixel, Fields.Native, Origins.TopLeft, Clocks.Game, Vector2.Zero, 0, true, c_background) { VectorScale = new Vector2(GameBase.WindowManager.Width, GameBase.WindowManager.Height) }); //header pText textCharts = new pText("Charts" + @" /", 28, new Vector2(PADDING, 60), 1, true, Color.White) { Origin = Origins.BottomLeft }; baseSpriteManager.Add(textCharts); t_currentCategory = new pText("All Charts", 20, new Vector2(120f, 58), 1, true, new Color(254, 220, 97)) { Origin = Origins.BottomLeft }; baseSpriteManager.Add(t_currentCategory); searchBox = new pSearchBox(18, new Vector2(PADDING, 33), 20, Graphics.Renderers.TextAlignment.Right); searchBox.OnChange += searchBox_OnChange; baseSpriteManager.Add(searchBox.SpriteCollection); baseSpriteManager.Add(new pBox(new Vector2(PADDING, 62), new Vector2(GameBase.WindowManager.WidthScaled - (PADDING * 2), 1), 1, Color.White)); t_categorySelection = new pText("All / Monthly / Themed / Special", 14, new Vector2(PADDING, 70), 1, true, Color.White) { Origin = Origins.TopLeft }; baseSpriteManager.Add(t_categorySelection); //list sa_chartList = new pScrollableArea(new RectangleF(PADDING / 2, 90, GameBase.WindowManager.WidthScaled - PADDING, GameBase.WindowManager.HeightScaled - PADDING - 90), Vector2.Zero, true); pWebRequest req = new pWebRequest("https://osu.ppy.sh/web/osu-getcharts.php?u={0}&h={1}", ConfigManager.sUsername, ConfigManager.sPassword); req.Finished += delegate(pWebRequest r, Exception e) { charts = JsonConvert.DeserializeObject <List <Chart> >(r.ResponseString); DoLayout(); }; req.Perform(); //footer backButton = new BackButton(delegate { GameBase.ChangeMode(OsuModes.Menu); }); spriteManagerTop.Add(backButton.SpriteCollection); KeyboardHandler.OnKeyPressed += onKeyPressed; base.Initialize(); }
public JumpTo() : base(LocalisationManager.GetString(OsuString.JumpToDialog_Title), true) { spriteManager.Add(new pBox(new Vector2(PADDING, 79), new Vector2(GameBase.WindowManager.WidthScaled - (PADDING * 2), 1), 1, Color.White)); spriteManager.Add(new pBox(new Vector2(PADDING, 440), new Vector2(GameBase.WindowManager.WidthScaled - (PADDING * 2), 1), 1, Color.White)); Rectangle scrollableArea = new Rectangle(PADDING, 80, (int)(640 * GameBase.WindowManager.WidthWidescreenRatio) - (PADDING * 2), 360); scrollableView = new pScrollableArea(scrollableArea, Vector2.Zero, true, 0, defaultTargetType); mapManager = new SpriteManager(true); topLayer = new SpriteManager(true); mapManager.SetWidescreen(GameBase.WindowManager.IsWidescreen); collectionLabel = new pText(LocalisationManager.GetString(OsuString.SongSelection_Collections) + ":", 20, new Vector2(PADDING, 30), 2, true, new Color(254, 220, 97)); collections = new pDropdown(topLayer, "All", new Vector2(PADDING, 55), 140, 3); searchBox = new pSearchBox(20, new Vector2(PADDING, 50), 20, Graphics.Renderers.TextAlignment.Right); searchTime = -1; spriteManager.Add(searchBox.SpriteCollection); spriteManager.Add(collectionLabel); scrollableView.AddChild(mapManager); searchBox.OnChange += delegate(pTextBox sender, bool newText) { if (!newText) { return; } if (searchBox.IsDefault && searchBox.textBeforeCommit.Length == 1) { searchTime = GameBase.Time; } else if (!searchBox.IsDefault) { searchTime = GameBase.Time + 300; } }; Closed += delegate { MusicControl.ClearPool(); }; collections.AddOption("All", "All"); collections.SetSelected("All", true); foreach (string c in CollectionManager.Collections.Keys) { collections.AddOption(c, c); } collections.OnSelect += collections_OnSelect; SelectedMap = BeatmapManager.Current; layout(); }