1
0
mirror of https://github.com/ppy/osu.git synced 2026-05-22 04:09:54 +08:00
Files
osu-lazer/osu.Game/Screens/Edit/Submission/BeatmapSubmissionSettings.cs
T
Bartłomiej Dach a38e25115b Pick better initial beatmap status when submitting
Addresses https://github.com/ppy/osu/discussions/33291

This is a half-baked RFC because things are awkward.

For this to work correctly the submission flow has to do an API request,
because one, the local beatmap status has been overwritten with "locally
modified", and secondly, even if it *was* there, there's no guarantee
that it was actually *up to date*.

And if we have to do an API request then there are two choices:

- Hard block on the API request and don't show anything until it
  completes which possibly means waiting at a spinner for several
  seconds if someone's on bad internet.

- Don't block on the API request --- but then there's no guarantee
  what timing the API request completes at, which means that possibly the
  user could change the dropdown before the API request completes, and
  the API request will overwrite their choice, so to prevent that block
  the dropdown until the request completes. This is what this commit
  does.
2025-06-12 10:38:22 +02:00

18 lines
595 B
C#

// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.
using osu.Framework.Bindables;
using osu.Game.Online.API.Requests;
namespace osu.Game.Screens.Edit.Submission
{
public class BeatmapSubmissionSettings
{
public GetBeatmapSetRequest? LatestOnlineStateRequest { get; set; }
public Bindable<BeatmapSubmissionTarget> Target { get; } = new Bindable<BeatmapSubmissionTarget>();
public Bindable<bool> NotifyOnDiscussionReplies { get; } = new Bindable<bool>();
}
}