mirror of
https://github.com/osukey/osukey.git
synced 2025-08-05 07:33:55 +09:00
Merge https://github.com/ppy/osu into multiplayer-room-settings
This commit is contained in:
@ -34,7 +34,7 @@ namespace osu.Game.Screens.Multi.Screens.Match
|
||||
set => cover.BeatmapSet = value;
|
||||
}
|
||||
|
||||
public Action OnWantsSelectBeatmap;
|
||||
public Action OnRequestSelectBeatmap;
|
||||
|
||||
public Header()
|
||||
{
|
||||
@ -89,7 +89,7 @@ namespace osu.Game.Screens.Multi.Screens.Match
|
||||
},
|
||||
};
|
||||
|
||||
beatmapButton.Action = () => OnWantsSelectBeatmap?.Invoke();
|
||||
beatmapButton.Action = () => OnRequestSelectBeatmap?.Invoke();
|
||||
}
|
||||
|
||||
[BackgroundDependencyLoader]
|
||||
@ -133,11 +133,12 @@ namespace osu.Game.Screens.Multi.Screens.Match
|
||||
Masking = true,
|
||||
CornerRadius = corner_radius,
|
||||
BorderThickness = 4,
|
||||
Alpha = 0f,
|
||||
Alpha = 0,
|
||||
Child = new Box // needs a child to show the border
|
||||
{
|
||||
RelativeSizeAxes = Axes.Both,
|
||||
Colour = Color4.Black.Opacity(0),
|
||||
Alpha = 0,
|
||||
AlwaysPresent = true
|
||||
},
|
||||
},
|
||||
};
|
||||
|
@ -15,6 +15,7 @@ using osu.Game.Graphics.UserInterface;
|
||||
using osu.Game.Online.Multiplayer;
|
||||
using osu.Game.Overlays.SearchableList;
|
||||
using osu.Game.Screens.Multi.Components;
|
||||
using OpenTK;
|
||||
|
||||
namespace osu.Game.Screens.Multi.Screens.Match
|
||||
{
|
||||
@ -124,7 +125,7 @@ namespace osu.Game.Screens.Multi.Screens.Match
|
||||
Anchor = Anchor.TopRight,
|
||||
Origin = Anchor.TopRight,
|
||||
RelativeSizeAxes = Axes.Y,
|
||||
Width = 200,
|
||||
Size = new Vector2(200, 1),
|
||||
Padding = new MarginPadding { Vertical = 10 },
|
||||
},
|
||||
},
|
||||
@ -167,14 +168,6 @@ namespace osu.Game.Screens.Multi.Screens.Match
|
||||
TextSize = 30,
|
||||
};
|
||||
|
||||
public ReadyButton()
|
||||
{
|
||||
Height = 1;
|
||||
Text = "Ready";
|
||||
|
||||
Action = () => Ready.Value = !Ready.Value;
|
||||
}
|
||||
|
||||
[BackgroundDependencyLoader]
|
||||
private void load()
|
||||
{
|
||||
@ -196,7 +189,9 @@ namespace osu.Game.Screens.Multi.Screens.Match
|
||||
},
|
||||
});
|
||||
|
||||
Ready.ValueChanged += value =>
|
||||
Action = () => Ready.Value = !Ready.Value;
|
||||
|
||||
Ready.BindValueChanged(value =>
|
||||
{
|
||||
if (value)
|
||||
{
|
||||
@ -208,7 +203,7 @@ namespace osu.Game.Screens.Multi.Screens.Match
|
||||
Text = "Ready";
|
||||
active.FadeOut(200);
|
||||
}
|
||||
};
|
||||
}, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -65,19 +65,14 @@ namespace osu.Game.Screens.Multi.Screens.Match
|
||||
},
|
||||
};
|
||||
|
||||
header.OnWantsSelectBeatmap = () => Push(new MatchSongSelect());
|
||||
nameBind.ValueChanged += n => info.Name = n;
|
||||
statusBind.ValueChanged += s => info.Status = s;
|
||||
availabilityBind.ValueChanged += a => info.Availability = a;
|
||||
typeBind.ValueChanged += t => info.Type = t;
|
||||
maxParticipantsBind.ValueChanged += m => { participants.Max = m; };
|
||||
participantsBind.ValueChanged += p => participants.Users = p;
|
||||
header.OnRequestSelectBeatmap = () => Push(new MatchSongSelect());
|
||||
|
||||
beatmapBind.ValueChanged += b =>
|
||||
beatmapBind.BindTo(room.Beatmap);
|
||||
beatmapBind.BindValueChanged(b =>
|
||||
{
|
||||
header.BeatmapSet = b?.BeatmapSet;
|
||||
info.Beatmap = b;
|
||||
};
|
||||
}, true);
|
||||
|
||||
header.Tabs.Current.ValueChanged += t =>
|
||||
{
|
||||
@ -94,12 +89,22 @@ namespace osu.Game.Screens.Multi.Screens.Match
|
||||
};
|
||||
|
||||
nameBind.BindTo(room.Name);
|
||||
nameBind.BindValueChanged(n => info.Name = n, true);
|
||||
|
||||
statusBind.BindTo(room.Status);
|
||||
statusBind.BindValueChanged(s => info.Status = s, true);
|
||||
|
||||
availabilityBind.BindTo(room.Availability);
|
||||
availabilityBind.BindValueChanged(a => info.Availability = a, true);
|
||||
|
||||
typeBind.BindTo(room.Type);
|
||||
beatmapBind.BindTo(room.Beatmap);
|
||||
typeBind.BindValueChanged(t => info.Type = t, true);
|
||||
|
||||
maxParticipantsBind.BindTo(room.MaxParticipants);
|
||||
maxParticipantsBind.BindValueChanged(m => { participants.Max = m; }, true);
|
||||
|
||||
participantsBind.BindTo(room.Participants);
|
||||
participantsBind.BindValueChanged(p => participants.Users = p, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -10,9 +10,6 @@ namespace osu.Game.Screens.Multi.Screens
|
||||
{
|
||||
public abstract class MultiplayerScreen : OsuScreen
|
||||
{
|
||||
private const Easing in_easing = Easing.OutQuint;
|
||||
private const Easing out_easing = Easing.InSine;
|
||||
|
||||
protected virtual Container<Drawable> TransitionContent => Content;
|
||||
|
||||
/// <summary>
|
||||
@ -24,17 +21,15 @@ namespace osu.Game.Screens.Multi.Screens
|
||||
{
|
||||
base.OnEntering(last);
|
||||
|
||||
TransitionContent.MoveToX(200);
|
||||
|
||||
Content.FadeInFromZero(WaveContainer.APPEAR_DURATION, in_easing);
|
||||
TransitionContent.FadeInFromZero(WaveContainer.APPEAR_DURATION, in_easing);
|
||||
TransitionContent.MoveToX(0, WaveContainer.APPEAR_DURATION, in_easing);
|
||||
Content.FadeInFromZero(WaveContainer.APPEAR_DURATION, Easing.OutQuint);
|
||||
TransitionContent.FadeInFromZero(WaveContainer.APPEAR_DURATION, Easing.OutQuint);
|
||||
TransitionContent.MoveToX(200).MoveToX(0, WaveContainer.APPEAR_DURATION, Easing.OutQuint);
|
||||
}
|
||||
|
||||
protected override bool OnExiting(Screen next)
|
||||
{
|
||||
Content.FadeOut(WaveContainer.DISAPPEAR_DURATION, out_easing);
|
||||
TransitionContent.MoveToX(200, WaveContainer.DISAPPEAR_DURATION, out_easing);
|
||||
Content.FadeOut(WaveContainer.DISAPPEAR_DURATION, Easing.OutQuint);
|
||||
TransitionContent.MoveToX(200, WaveContainer.DISAPPEAR_DURATION, Easing.OutQuint);
|
||||
|
||||
return base.OnExiting(next);
|
||||
}
|
||||
@ -43,16 +38,16 @@ namespace osu.Game.Screens.Multi.Screens
|
||||
{
|
||||
base.OnResuming(last);
|
||||
|
||||
Content.FadeIn(WaveContainer.APPEAR_DURATION, in_easing);
|
||||
TransitionContent.MoveToX(0, WaveContainer.APPEAR_DURATION, in_easing);
|
||||
Content.FadeIn(WaveContainer.APPEAR_DURATION, Easing.OutQuint);
|
||||
TransitionContent.MoveToX(0, WaveContainer.APPEAR_DURATION, Easing.OutQuint);
|
||||
}
|
||||
|
||||
protected override void OnSuspending(Screen next)
|
||||
{
|
||||
base.OnSuspending(next);
|
||||
|
||||
Content.FadeOut(WaveContainer.DISAPPEAR_DURATION, out_easing);
|
||||
TransitionContent.MoveToX(-200, WaveContainer.DISAPPEAR_DURATION, out_easing);
|
||||
Content.FadeOut(WaveContainer.DISAPPEAR_DURATION, Easing.OutQuint);
|
||||
TransitionContent.MoveToX(-200, WaveContainer.DISAPPEAR_DURATION, Easing.OutQuint);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user