mirror of
https://github.com/ppy/osu.git
synced 2024-11-06 06:57:39 +08:00
Permitted nulls in ChatOverlay.load() so that in testing, no "OsuGame" instance is required. Also added null checks to the links' on click actions
This commit is contained in:
parent
006ac44e11
commit
ec8b5c2465
@ -99,7 +99,7 @@ namespace osu.Game.Graphics.Sprites
|
||||
|
||||
break;
|
||||
case "edit":
|
||||
chat.Game.LoadEditorTimestamp();
|
||||
chat.Game?.LoadEditorTimestamp();
|
||||
break;
|
||||
case "b":
|
||||
if (args.Length > 1 && int.TryParse(args[1], out int mapId))
|
||||
@ -122,16 +122,14 @@ namespace osu.Game.Graphics.Sprites
|
||||
|
||||
req.Success += user =>
|
||||
{
|
||||
// TODO: Open spectator screen and start spectating
|
||||
|
||||
chat.Game?.LoadSpectatorScreen();
|
||||
};
|
||||
// api.Queue(req);
|
||||
chat.Game.LoadSpectatorScreen();
|
||||
api.Queue(req);
|
||||
|
||||
break;
|
||||
default:
|
||||
throw new ArgumentException($"Unknown osu:// link at {nameof(OsuLinkSpriteText)} (https://osu.ppy.sh/{args[0]}).");
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (url.StartsWith("osump://"))
|
||||
{
|
||||
@ -139,7 +137,7 @@ namespace osu.Game.Graphics.Sprites
|
||||
if (!int.TryParse(url.Split('/').ElementAtOrDefault(1), out int multiId))
|
||||
return;
|
||||
|
||||
chat.Game.LoadMultiplayerLobby();
|
||||
chat.Game?.LoadMultiplayerLobby();
|
||||
}
|
||||
else if (url.StartsWith("http://") || url.StartsWith("https://"))
|
||||
{
|
||||
|
@ -41,6 +41,9 @@ namespace osu.Game.Overlays
|
||||
|
||||
private readonly FocusedTextBox textbox;
|
||||
|
||||
/// <summary>
|
||||
/// The current OsuGame instance. Will be null for Tests.
|
||||
/// </summary>
|
||||
public OsuGame Game;
|
||||
|
||||
private APIAccess api;
|
||||
@ -272,9 +275,10 @@ namespace osu.Game.Overlays
|
||||
base.PopOut();
|
||||
}
|
||||
|
||||
[BackgroundDependencyLoader]
|
||||
[BackgroundDependencyLoader(true)]
|
||||
private void load(APIAccess api, OsuConfigManager config, OsuColour colours, OsuGame game)
|
||||
{
|
||||
// game will be null in testing, so some links will not work
|
||||
Game = game;
|
||||
this.api = api;
|
||||
api.Register(this);
|
||||
|
Loading…
Reference in New Issue
Block a user