mirror of
https://github.com/ppy/osu.git
synced 2025-01-26 16:12:54 +08:00
Merge remote-tracking branch 'upstream/master' into video-start-from-zero
This commit is contained in:
commit
604ce37064
@ -7,7 +7,6 @@ using osu.Framework.Graphics.Colour;
|
|||||||
using osu.Framework.Graphics.Containers;
|
using osu.Framework.Graphics.Containers;
|
||||||
using osu.Framework.Graphics.Shapes;
|
using osu.Framework.Graphics.Shapes;
|
||||||
using osu.Framework.Graphics.Video;
|
using osu.Framework.Graphics.Video;
|
||||||
using osu.Framework.Platform;
|
|
||||||
using osu.Framework.Timing;
|
using osu.Framework.Timing;
|
||||||
using osu.Game.Graphics;
|
using osu.Game.Graphics;
|
||||||
|
|
||||||
@ -28,9 +27,9 @@ namespace osu.Game.Tournament.Components
|
|||||||
}
|
}
|
||||||
|
|
||||||
[BackgroundDependencyLoader]
|
[BackgroundDependencyLoader]
|
||||||
private void load(Storage storage)
|
private void load(TournamentStorage storage)
|
||||||
{
|
{
|
||||||
var stream = storage.GetStream($@"videos/{filename}.m4v");
|
var stream = storage.GetStream($@"videos/{filename}");
|
||||||
|
|
||||||
if (stream != null)
|
if (stream != null)
|
||||||
{
|
{
|
||||||
|
@ -11,6 +11,7 @@ using osu.Game.Graphics;
|
|||||||
using osu.Game.Graphics.UserInterface;
|
using osu.Game.Graphics.UserInterface;
|
||||||
using osu.Game.Tournament.IPC;
|
using osu.Game.Tournament.IPC;
|
||||||
using osu.Game.Tournament.Models;
|
using osu.Game.Tournament.Models;
|
||||||
|
using osuTK;
|
||||||
|
|
||||||
namespace osu.Game.Tournament.Screens.Gameplay.Components
|
namespace osu.Game.Tournament.Screens.Gameplay.Components
|
||||||
{
|
{
|
||||||
@ -131,13 +132,15 @@ namespace osu.Game.Tournament.Screens.Gameplay.Components
|
|||||||
Margin = new MarginPadding { Top = bar_height, Horizontal = 10 };
|
Margin = new MarginPadding { Top = bar_height, Horizontal = 10 };
|
||||||
|
|
||||||
Winning = false;
|
Winning = false;
|
||||||
|
|
||||||
|
DisplayedCountSpriteText.Spacing = new Vector2(-6);
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool Winning
|
public bool Winning
|
||||||
{
|
{
|
||||||
set => DisplayedCountSpriteText.Font = value
|
set => DisplayedCountSpriteText.Font = value
|
||||||
? OsuFont.Torus.With(weight: FontWeight.Bold, size: 50)
|
? OsuFont.Torus.With(weight: FontWeight.Bold, size: 50, fixedWidth: true)
|
||||||
: OsuFont.Torus.With(weight: FontWeight.Regular, size: 40);
|
: OsuFont.Torus.With(weight: FontWeight.Regular, size: 40, fixedWidth: true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,6 @@ using osu.Game.Tournament.Components;
|
|||||||
using osu.Game.Tournament.Models;
|
using osu.Game.Tournament.Models;
|
||||||
using osu.Game.Tournament.Screens.Ladder.Components;
|
using osu.Game.Tournament.Screens.Ladder.Components;
|
||||||
using osuTK;
|
using osuTK;
|
||||||
using osuTK.Graphics;
|
|
||||||
|
|
||||||
namespace osu.Game.Tournament.Screens.TeamIntro
|
namespace osu.Game.Tournament.Screens.TeamIntro
|
||||||
{
|
{
|
||||||
@ -140,9 +139,9 @@ namespace osu.Game.Tournament.Screens.TeamIntro
|
|||||||
Spacing = new Vector2(5),
|
Spacing = new Vector2(5),
|
||||||
Children = new Drawable[]
|
Children = new Drawable[]
|
||||||
{
|
{
|
||||||
new TournamentSpriteText { Text = beatmap.BeatmapInfo.Metadata.Title, Colour = Color4.Black, },
|
new TournamentSpriteText { Text = beatmap.BeatmapInfo.Metadata.Title, Colour = TournamentGame.TEXT_COLOUR, },
|
||||||
new TournamentSpriteText { Text = "by", Colour = Color4.Black, Font = OsuFont.Torus.With(weight: FontWeight.Regular) },
|
new TournamentSpriteText { Text = "by", Colour = TournamentGame.TEXT_COLOUR, Font = OsuFont.Torus.With(weight: FontWeight.Regular) },
|
||||||
new TournamentSpriteText { Text = beatmap.BeatmapInfo.Metadata.Artist, Colour = Color4.Black, Font = OsuFont.Torus.With(weight: FontWeight.Regular) },
|
new TournamentSpriteText { Text = beatmap.BeatmapInfo.Metadata.Artist, Colour = TournamentGame.TEXT_COLOUR, Font = OsuFont.Torus.With(weight: FontWeight.Regular) },
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
new FillFlowContainer
|
new FillFlowContainer
|
||||||
@ -154,8 +153,8 @@ namespace osu.Game.Tournament.Screens.TeamIntro
|
|||||||
Spacing = new Vector2(40),
|
Spacing = new Vector2(40),
|
||||||
Children = new Drawable[]
|
Children = new Drawable[]
|
||||||
{
|
{
|
||||||
new TournamentSpriteText { Text = beatmap.Score.ToString("#,0"), Colour = Color4.Black, Width = 80 },
|
new TournamentSpriteText { Text = beatmap.Score.ToString("#,0"), Colour = TournamentGame.TEXT_COLOUR, Width = 80 },
|
||||||
new TournamentSpriteText { Text = "#" + beatmap.Seed.Value.ToString("#,0"), Colour = Color4.Black, Font = OsuFont.Torus.With(weight: FontWeight.Regular) },
|
new TournamentSpriteText { Text = "#" + beatmap.Seed.Value.ToString("#,0"), Colour = TournamentGame.TEXT_COLOUR, Font = OsuFont.Torus.With(weight: FontWeight.Regular) },
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@ -204,7 +203,7 @@ namespace osu.Game.Tournament.Screens.TeamIntro
|
|||||||
new Box
|
new Box
|
||||||
{
|
{
|
||||||
RelativeSizeAxes = Axes.Both,
|
RelativeSizeAxes = Axes.Both,
|
||||||
Colour = Color4.Black,
|
Colour = TournamentGame.TEXT_COLOUR,
|
||||||
},
|
},
|
||||||
new TournamentSpriteText
|
new TournamentSpriteText
|
||||||
{
|
{
|
||||||
@ -260,20 +259,18 @@ namespace osu.Game.Tournament.Screens.TeamIntro
|
|||||||
AutoSizeAxes = Axes.Y;
|
AutoSizeAxes = Axes.Y;
|
||||||
RelativeSizeAxes = Axes.X;
|
RelativeSizeAxes = Axes.X;
|
||||||
|
|
||||||
var colour = OsuColour.Gray(0.3f);
|
|
||||||
|
|
||||||
InternalChildren = new Drawable[]
|
InternalChildren = new Drawable[]
|
||||||
{
|
{
|
||||||
new TournamentSpriteText
|
new TournamentSpriteText
|
||||||
{
|
{
|
||||||
Text = left,
|
Text = left,
|
||||||
Colour = colour,
|
Colour = TournamentGame.TEXT_COLOUR,
|
||||||
Font = OsuFont.Torus.With(size: 22),
|
Font = OsuFont.Torus.With(size: 22, weight: FontWeight.SemiBold),
|
||||||
},
|
},
|
||||||
new TournamentSpriteText
|
new TournamentSpriteText
|
||||||
{
|
{
|
||||||
Text = right,
|
Text = right,
|
||||||
Colour = colour,
|
Colour = TournamentGame.TEXT_COLOUR,
|
||||||
Anchor = Anchor.TopRight,
|
Anchor = Anchor.TopRight,
|
||||||
Origin = Anchor.TopLeft,
|
Origin = Anchor.TopLeft,
|
||||||
Font = OsuFont.Torus.With(size: 22, weight: FontWeight.Regular),
|
Font = OsuFont.Torus.With(size: 22, weight: FontWeight.Regular),
|
||||||
@ -305,7 +302,7 @@ namespace osu.Game.Tournament.Screens.TeamIntro
|
|||||||
{
|
{
|
||||||
Text = team?.FullName.Value ?? "???",
|
Text = team?.FullName.Value ?? "???",
|
||||||
Font = OsuFont.Torus.With(size: 32, weight: FontWeight.SemiBold),
|
Font = OsuFont.Torus.With(size: 32, weight: FontWeight.SemiBold),
|
||||||
Colour = Color4.Black,
|
Colour = TournamentGame.TEXT_COLOUR,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -37,6 +37,8 @@ namespace osu.Game.Tournament
|
|||||||
|
|
||||||
private Storage storage;
|
private Storage storage;
|
||||||
|
|
||||||
|
private TournamentStorage tournamentStorage;
|
||||||
|
|
||||||
private DependencyContainer dependencies;
|
private DependencyContainer dependencies;
|
||||||
|
|
||||||
private Bindable<Size> windowSize;
|
private Bindable<Size> windowSize;
|
||||||
@ -54,7 +56,9 @@ namespace osu.Game.Tournament
|
|||||||
{
|
{
|
||||||
Resources.AddStore(new DllResourceStore(typeof(TournamentGameBase).Assembly));
|
Resources.AddStore(new DllResourceStore(typeof(TournamentGameBase).Assembly));
|
||||||
|
|
||||||
Textures.AddStore(new TextureLoaderStore(new ResourceStore<byte[]>(new StorageBackedResourceStore(storage))));
|
dependencies.CacheAs(tournamentStorage = new TournamentStorage(storage));
|
||||||
|
|
||||||
|
Textures.AddStore(new TextureLoaderStore(tournamentStorage));
|
||||||
|
|
||||||
this.storage = storage;
|
this.storage = storage;
|
||||||
|
|
||||||
|
19
osu.Game.Tournament/TournamentStorage.cs
Normal file
19
osu.Game.Tournament/TournamentStorage.cs
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
// 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.IO.Stores;
|
||||||
|
using osu.Framework.Platform;
|
||||||
|
|
||||||
|
namespace osu.Game.Tournament
|
||||||
|
{
|
||||||
|
internal class TournamentStorage : NamespacedResourceStore<byte[]>
|
||||||
|
{
|
||||||
|
public TournamentStorage(Storage storage)
|
||||||
|
: base(new StorageBackedResourceStore(storage), "tournament")
|
||||||
|
{
|
||||||
|
AddExtension("m4v");
|
||||||
|
AddExtension("avi");
|
||||||
|
AddExtension("mp4");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -14,22 +14,8 @@ namespace osu.Game.Overlays.Volume
|
|||||||
public Func<GlobalAction, bool> ActionRequested;
|
public Func<GlobalAction, bool> ActionRequested;
|
||||||
public Func<GlobalAction, float, bool, bool> ScrollActionRequested;
|
public Func<GlobalAction, float, bool, bool> ScrollActionRequested;
|
||||||
|
|
||||||
public bool OnPressed(GlobalAction action)
|
public bool OnPressed(GlobalAction action) =>
|
||||||
{
|
ActionRequested?.Invoke(action) ?? false;
|
||||||
// if nothing else handles selection actions in the game, it's safe to let volume be adjusted.
|
|
||||||
switch (action)
|
|
||||||
{
|
|
||||||
case GlobalAction.SelectPrevious:
|
|
||||||
action = GlobalAction.IncreaseVolume;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case GlobalAction.SelectNext:
|
|
||||||
action = GlobalAction.DecreaseVolume;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return ActionRequested?.Invoke(action) ?? false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool OnScroll(GlobalAction action, float amount, bool isPrecise) =>
|
public bool OnScroll(GlobalAction action, float amount, bool isPrecise) =>
|
||||||
ScrollActionRequested?.Invoke(action, amount, isPrecise) ?? false;
|
ScrollActionRequested?.Invoke(action, amount, isPrecise) ?? false;
|
||||||
|
Loading…
Reference in New Issue
Block a user