Request window attention when round starts/restarts.
This commit is contained in:
@@ -3,6 +3,8 @@ using Content.Client.Interfaces;
|
||||
using Content.Client.State;
|
||||
using Content.Client.UserInterface;
|
||||
using Content.Shared;
|
||||
using Content.Shared.Network.NetMessages;
|
||||
using Robust.Client.Interfaces.Graphics;
|
||||
using Robust.Client.Interfaces.State;
|
||||
using Robust.Shared.Interfaces.Network;
|
||||
using Robust.Shared.IoC;
|
||||
@@ -39,6 +41,10 @@ namespace Content.Client.GameTicking
|
||||
_netManager.RegisterNetMessage<MsgTickerLobbyInfo>(nameof(MsgTickerLobbyInfo), LobbyInfo);
|
||||
_netManager.RegisterNetMessage<MsgTickerLobbyCountdown>(nameof(MsgTickerLobbyCountdown), LobbyCountdown);
|
||||
_netManager.RegisterNetMessage<MsgRoundEndMessage>(nameof(MsgRoundEndMessage), RoundEnd);
|
||||
_netManager.RegisterNetMessage<MsgRequestWindowAttention>(nameof(MsgRequestWindowAttention), msg =>
|
||||
{
|
||||
IoCManager.Resolve<IClyde>().RequestWindowAttention();
|
||||
});
|
||||
|
||||
_initialized = true;
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@ using Content.Server.Players;
|
||||
using Content.Shared;
|
||||
using Content.Shared.Chat;
|
||||
using Content.Shared.GameObjects.Components.PDA;
|
||||
using Content.Shared.Network.NetMessages;
|
||||
using Content.Shared.Preferences;
|
||||
using Content.Shared.Roles;
|
||||
using Prometheus;
|
||||
@@ -137,6 +138,7 @@ namespace Content.Server.GameTicking
|
||||
_netManager.RegisterNetMessage<MsgTickerLobbyInfo>(nameof(MsgTickerLobbyInfo));
|
||||
_netManager.RegisterNetMessage<MsgTickerLobbyCountdown>(nameof(MsgTickerLobbyCountdown));
|
||||
_netManager.RegisterNetMessage<MsgRoundEndMessage>(nameof(MsgRoundEndMessage));
|
||||
_netManager.RegisterNetMessage<MsgRequestWindowAttention>(nameof(MsgRequestWindowAttention));
|
||||
|
||||
SetStartPreset(_configurationManager.GetCVar<string>("game.defaultpreset"));
|
||||
|
||||
@@ -206,6 +208,16 @@ namespace Content.Server.GameTicking
|
||||
_roundStartTimeUtc = DateTime.UtcNow + LobbyDuration;
|
||||
|
||||
_sendStatusToAll();
|
||||
|
||||
ReqWindowAttentionAll();
|
||||
}
|
||||
}
|
||||
|
||||
private void ReqWindowAttentionAll()
|
||||
{
|
||||
foreach (var player in _playerManager.GetAllPlayers())
|
||||
{
|
||||
player.RequestWindowAttention();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -284,6 +296,7 @@ namespace Content.Server.GameTicking
|
||||
|
||||
_roundStartTimeSpan = IoCManager.Resolve<IGameTiming>().RealTime;
|
||||
_sendStatusToAll();
|
||||
ReqWindowAttentionAll();
|
||||
}
|
||||
|
||||
private void SendServerMessage(string message)
|
||||
@@ -621,6 +634,7 @@ namespace Content.Server.GameTicking
|
||||
_playerJoinLobby(player);
|
||||
}
|
||||
|
||||
EntitySystem.Get<GasTileOverlaySystem>().ResettingCleanup();
|
||||
EntitySystem.Get<PathfindingSystem>().ResettingCleanup();
|
||||
EntitySystem.Get<AiReachableSystem>().ResettingCleanup();
|
||||
EntitySystem.Get<WireHackingSystem>().ResetLayouts();
|
||||
|
||||
14
Content.Server/Players/PlayerSessionExt.cs
Normal file
14
Content.Server/Players/PlayerSessionExt.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using Content.Shared.Network.NetMessages;
|
||||
using Robust.Server.Interfaces.Player;
|
||||
|
||||
namespace Content.Server.Players
|
||||
{
|
||||
public static class PlayerSessionExt
|
||||
{
|
||||
public static void RequestWindowAttention(this IPlayerSession session)
|
||||
{
|
||||
var msg = session.ConnectedClient.CreateNetMessage<MsgRequestWindowAttention>();
|
||||
session.ConnectedClient.SendMessage(msg);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
using Lidgren.Network;
|
||||
using Robust.Shared.Interfaces.Network;
|
||||
using Robust.Shared.Network;
|
||||
|
||||
namespace Content.Shared.Network.NetMessages
|
||||
{
|
||||
public sealed class MsgRequestWindowAttention : NetMessage
|
||||
{
|
||||
#region REQUIRED
|
||||
|
||||
public const MsgGroups GROUP = MsgGroups.Command;
|
||||
public const string NAME = nameof(MsgRequestWindowAttention);
|
||||
public MsgRequestWindowAttention(INetChannel channel) : base(NAME, GROUP) { }
|
||||
|
||||
#endregion
|
||||
|
||||
public override void ReadFromBuffer(NetIncomingMessage buffer)
|
||||
{
|
||||
// Nothing
|
||||
}
|
||||
|
||||
public override void WriteToBuffer(NetOutgoingMessage buffer)
|
||||
{
|
||||
// Nothing
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -152,6 +152,7 @@ namespace Content.Shared
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public struct RoundEndPlayerInfo
|
||||
{
|
||||
public string PlayerOOCName;
|
||||
|
||||
Reference in New Issue
Block a user