mirror of
https://github.com/ppy/osu.git
synced 2024-12-05 09:42:54 +08:00
Move beatmap ID lookup to UesrActivity
This commit is contained in:
parent
62837c7e53
commit
24c0799680
@ -167,9 +167,7 @@ namespace osu.Desktop
|
||||
presence.State = clampLength(activity.Value.GetStatus(hideIdentifiableInformation));
|
||||
presence.Details = clampLength(activity.Value.GetDetails(hideIdentifiableInformation) ?? string.Empty);
|
||||
|
||||
if (getBeatmapID(activity.Value) is int beatmapId
|
||||
&& beatmapId > 0
|
||||
&& !(activity.Value is UserActivity.EditingBeatmap && hideIdentifiableInformation))
|
||||
if (activity.Value.GetBeatmapID(hideIdentifiableInformation) is int beatmapId && beatmapId > 0)
|
||||
{
|
||||
presence.Buttons = new[]
|
||||
{
|
||||
@ -329,20 +327,6 @@ namespace osu.Desktop
|
||||
return true;
|
||||
}
|
||||
|
||||
private static int? getBeatmapID(UserActivity activity)
|
||||
{
|
||||
switch (activity)
|
||||
{
|
||||
case UserActivity.InGame game:
|
||||
return game.BeatmapID;
|
||||
|
||||
case UserActivity.EditingBeatmap edit:
|
||||
return edit.BeatmapID;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
protected override void Dispose(bool isDisposing)
|
||||
{
|
||||
if (multiplayerClient.IsNotNull())
|
||||
|
@ -41,6 +41,12 @@ namespace osu.Game.Users
|
||||
|
||||
public virtual Color4 GetAppropriateColour(OsuColour colours) => colours.GreenDarker;
|
||||
|
||||
/// <summary>
|
||||
/// Returns the ID of the beatmap involved in this activity, if applicable and/or available.
|
||||
/// </summary>
|
||||
/// <param name="hideIdentifiableInformation"></param>
|
||||
public virtual int? GetBeatmapID(bool hideIdentifiableInformation = false) => null;
|
||||
|
||||
[MessagePackObject]
|
||||
public class ChoosingBeatmap : UserActivity
|
||||
{
|
||||
@ -76,6 +82,7 @@ namespace osu.Game.Users
|
||||
|
||||
public override string GetStatus(bool hideIdentifiableInformation = false) => RulesetPlayingVerb;
|
||||
public override string GetDetails(bool hideIdentifiableInformation = false) => BeatmapDisplayTitle;
|
||||
public override int? GetBeatmapID(bool hideIdentifiableInformation = false) => BeatmapID;
|
||||
}
|
||||
|
||||
[MessagePackObject]
|
||||
@ -156,6 +163,11 @@ namespace osu.Game.Users
|
||||
// For now let's assume that showing the beatmap a user is editing could reveal unwanted information.
|
||||
? string.Empty
|
||||
: BeatmapDisplayTitle;
|
||||
|
||||
public override int? GetBeatmapID(bool hideIdentifiableInformation = false) => hideIdentifiableInformation
|
||||
// For now let's assume that showing the beatmap a user is editing could reveal unwanted information.
|
||||
? null
|
||||
: BeatmapID;
|
||||
}
|
||||
|
||||
[MessagePackObject]
|
||||
|
Loading…
Reference in New Issue
Block a user