Merge https://github.com/ppy/osu into multiplayer-room-settings

This commit is contained in:
DrabWeb
2018-07-07 01:10:27 -03:00
329 changed files with 9740 additions and 5110 deletions

View File

@ -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
},
},
};

View File

@ -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);
}
}
}

View File

@ -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);
}
}
}

View File

@ -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);
}
}
}