/// <summary> /// Creates the container to scroll for different mapsets. /// </summary> private void CreateMapsetScrollContainer() { MapsetScrollContainer = new MapsetScrollContainer(this) { Parent = Container, Alignment = Alignment.TopRight, Y = Header.Height + 2 }; MapsetScrollContainer.X = MapsetScrollContainer.Width; MapsetScrollContainer.MoveToX(-18, Easing.OutBounce, 1200); }
/// <summary> /// Creates the container to scroll for different mapsets. /// </summary> private void CreateMapsetScrollContainer() { MapsetScrollContainer = new MapsetScrollContainer(this) { Parent = Container, Alignment = Alignment.TopRight, Y = Navbar.Line.Y + 2, }; MapsetScrollContainer.X = MapsetScrollContainer.Width; MapsetScrollContainer.MoveToX(-28, Easing.OutBounce, 1200); }
/// <summary> /// Called when the screen is exiting /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnScreenExiting(object sender, ScreenExitingEventArgs e) { if (Screen is SelectScreen screen && !screen.IsExitingToGameplay) { return; } MapsetScrollContainer.MoveToX(MapsetScrollContainer.Width, Easing.OutQuint, 400); DifficultyScrollContainer.MoveToX(DifficultyScrollContainer.Width, Easing.OutQuint, 400); SearchContainer.MoveToX(SearchContainer.Width, Easing.OutQuint, 400); Banner.MoveToX(-Banner.Width, Easing.OutQuint, 400); LeaderboardSelector.MoveToX(-LeaderboardSelector.Width, Easing.OutQuint, 400); Leaderboard.MoveToX(-Leaderboard.Width, Easing.OutQuint, 400); }
/// <summary> /// Switches the UI to the specified ScrollContainer. /// </summary> /// <param name="container"></param> public void SwitchToContainer(SelectContainerStatus container) { if (container == ActiveContainer) { return; } const int time = 400; const int targetX = -18; MapsetScrollContainer.ClearAnimations(); DifficultyScrollContainer.ClearAnimations(); switch (container) { case SelectContainerStatus.Mapsets: MapsetScrollContainer.Parent = Container; MapsetScrollContainer.MoveToX(targetX, Easing.OutQuint, time); DifficultyScrollContainer.MoveToX(DifficultyScrollContainer.Width, Easing.OutQuint, time); break; case SelectContainerStatus.Difficulty: DifficultyScrollContainer.Parent = Container; DifficultyScrollContainer.Visible = true; DifficultyScrollContainer.ContentContainer.Visible = true; MapsetScrollContainer.MoveToX(MapsetScrollContainer.Width, Easing.OutQuint, time); DifficultyScrollContainer.MoveToX(targetX, Easing.OutQuint, time); break; default: throw new ArgumentOutOfRangeException(nameof(container), container, null); } ActiveContainer = container; SearchContainer.Parent = Container; Banner.Parent = Container; Footer.Parent = Container; Logger.Debug($"Switched to Select Container: {ActiveContainer}", LogType.Runtime, false); }