Remove nullability of DI dependencies and fix incorrect load order

This commit is contained in:
Dean Herbert 2021-06-11 16:28:53 +09:00
parent 139401a04a
commit 3d645608eb
2 changed files with 8 additions and 12 deletions

View File

@ -24,13 +24,13 @@ namespace osu.Game.Online.Chat
/// </summary>
public class MessageNotifier : Component
{
[Resolved(CanBeNull = true)]
private NotificationOverlay notificationOverlay { get; set; }
[Resolved]
private NotificationOverlay notifications { get; set; }
[Resolved(CanBeNull = true)]
[Resolved]
private ChatOverlay chatOverlay { get; set; }
[Resolved(CanBeNull = true)]
[Resolved]
private ChannelManager channelManager { get; set; }
private Bindable<bool> notifyOnMention;
@ -81,7 +81,7 @@ namespace osu.Game.Online.Chat
}
// Only send notifications, if ChatOverlay and the target channel aren't visible.
if (chatOverlay?.IsPresent == true && channelManager.CurrentChannel.Value == channel)
if (chatOverlay.IsPresent && channelManager.CurrentChannel.Value == channel)
return;
foreach (var message in messages.OrderByDescending(m => m.Id))
@ -115,9 +115,7 @@ namespace osu.Game.Online.Chat
if (channel.Id != message.ChannelId)
throw new ArgumentException("The provided channel doesn't match with the channel id provided by the message parameter.", nameof(channel));
var notification = new PrivateMessageNotification(message.Sender.Username, channel);
notificationOverlay?.Post(notification);
notifications.Post(new PrivateMessageNotification(message.Sender.Username, channel));
return true;
}
@ -135,9 +133,7 @@ namespace osu.Game.Online.Chat
if (channel.Id != message.ChannelId)
throw new ArgumentException("The provided channel doesn't match with the channel id provided by the message parameter.", nameof(channel));
var notification = new MentionNotification(message.Sender.Username, channel);
notificationOverlay?.Post(notification);
notifications.Post(new MentionNotification(message.Sender.Username, channel));
return true;
}

View File

@ -726,8 +726,8 @@ namespace osu.Game
loadComponentSingleFile(news = new NewsOverlay(), overlayContent.Add, true);
var rankingsOverlay = loadComponentSingleFile(new RankingsOverlay(), overlayContent.Add, true);
loadComponentSingleFile(channelManager = new ChannelManager(), AddInternal, true);
loadComponentSingleFile(new MessageNotifier(), AddInternal, true);
loadComponentSingleFile(chatOverlay = new ChatOverlay(), overlayContent.Add, true);
loadComponentSingleFile(new MessageNotifier(), AddInternal, true);
loadComponentSingleFile(Settings = new SettingsOverlay { GetToolbarHeight = () => ToolbarOffset }, leftFloatingOverlayContent.Add, true);
var changelogOverlay = loadComponentSingleFile(new ChangelogOverlay(), overlayContent.Add, true);
loadComponentSingleFile(userProfile = new UserProfileOverlay(), overlayContent.Add, true);