mirror of
https://github.com/ppy/osu.git
synced 2026-05-13 19:54:15 +08:00
Compare commits
4 Commits
fdcf40d4a6
...
d0cdacea79
@@ -60,11 +60,17 @@ namespace osu.Game.Rulesets.Taiko.Skinning.Legacy
|
||||
{
|
||||
const double animation_time = 120;
|
||||
|
||||
(sprite as IFramedAnimation)?.GotoFrame(0);
|
||||
var animation = sprite as IFramedAnimation;
|
||||
|
||||
animation?.GotoFrame(0);
|
||||
(strongSprite as IFramedAnimation)?.GotoFrame(0);
|
||||
|
||||
this.FadeInFromZero(animation_time).Then().FadeOut(animation_time * 1.5);
|
||||
|
||||
// legacy judgements don't play any transforms if they are an animation.
|
||||
if (animation?.FrameCount > 1)
|
||||
return;
|
||||
|
||||
this.ScaleTo(0.6f)
|
||||
.Then().ScaleTo(1.1f, animation_time * 0.8)
|
||||
.Then().ScaleTo(0.9f, animation_time * 0.4)
|
||||
|
||||
@@ -60,6 +60,9 @@ namespace osu.Game.Screens.OnlinePlay.Multiplayer
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!base.OnStart())
|
||||
return false;
|
||||
|
||||
selectionOperation = operationTracker.BeginOperation();
|
||||
|
||||
client.ChangeUserStyle(Beatmap.Value.BeatmapInfo.OnlineID, Ruleset.Value.OnlineID)
|
||||
|
||||
@@ -7,6 +7,7 @@ using Humanizer;
|
||||
using osu.Framework.Allocation;
|
||||
using osu.Framework.Graphics;
|
||||
using osu.Framework.Graphics.Containers;
|
||||
using osu.Framework.Logging;
|
||||
using osu.Game.Beatmaps;
|
||||
using osu.Game.Database;
|
||||
using osu.Game.Online.Rooms;
|
||||
@@ -43,6 +44,40 @@ namespace osu.Game.Screens.OnlinePlay
|
||||
LeftArea.Padding = new MarginPadding { Top = Header.HEIGHT };
|
||||
}
|
||||
|
||||
protected override bool OnStart()
|
||||
{
|
||||
FilterCriteria criteria = FilterControl.CreateCriteria();
|
||||
|
||||
// Beatmaps with too different of a duration are filtered away; this is just a final safety.
|
||||
if (!criteria.Length.IsInRange(Beatmap.Value.BeatmapInfo.Length))
|
||||
{
|
||||
Logger.Log("The selected beatmap's duration differs too much from the host's selection.", level: LogLevel.Error);
|
||||
return false;
|
||||
}
|
||||
|
||||
// Beatmaps without a valid online ID are filtered away; this is just a final safety.
|
||||
if (Beatmap.Value.BeatmapInfo.OnlineID < 0)
|
||||
{
|
||||
Logger.Log("The selected beatmap is not available online.", level: LogLevel.Error);
|
||||
return false;
|
||||
}
|
||||
|
||||
// Beatmaps from different sets are filtered away; this is just a final safety.
|
||||
if (Beatmap.Value.BeatmapSetInfo.OnlineID != criteria.BeatmapSetId)
|
||||
{
|
||||
Logger.Log("The selected beatmap is from a different beatmap set.", level: LogLevel.Error);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (Ruleset.Value.OnlineID < 0)
|
||||
{
|
||||
Logger.Log("The selected ruleset is not available online.", level: LogLevel.Error);
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
protected override FilterControl CreateFilterControl() => new DifficultySelectFilterControl(item);
|
||||
|
||||
protected override IEnumerable<(FooterButton button, OverlayContainer? overlay)> CreateSongSelectFooterButtons()
|
||||
|
||||
@@ -21,15 +21,12 @@ namespace osu.Game.Screens.OnlinePlay.Playlists
|
||||
|
||||
protected override bool OnStart()
|
||||
{
|
||||
// Beatmaps without a valid online ID are filtered away; this is just a final safety.
|
||||
if (base.Beatmap.Value.BeatmapInfo.OnlineID < 0)
|
||||
return false;
|
||||
|
||||
if (base.Ruleset.Value.OnlineID < 0)
|
||||
if (!base.OnStart())
|
||||
return false;
|
||||
|
||||
Beatmap.Value = base.Beatmap.Value.BeatmapInfo;
|
||||
Ruleset.Value = base.Ruleset.Value;
|
||||
|
||||
this.Exit();
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user