Hud refactor (#7202)

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: Jezithyr <jmaster9999@gmail.com>
Co-authored-by: Jezithyr <Jezithyr@gmail.com>
Co-authored-by: Visne <39844191+Visne@users.noreply.github.com>
Co-authored-by: wrexbe <wrexbe@protonmail.com>
Co-authored-by: wrexbe <81056464+wrexbe@users.noreply.github.com>
This commit is contained in:
Jezithyr
2022-10-12 01:16:23 -07:00
committed by GitHub
parent d09fbc1849
commit 571dd4e6d5
168 changed files with 6940 additions and 7817 deletions

View File

@@ -1,12 +1,10 @@
using Content.Client.Administration.Managers;
using Content.Client.Changelog;
using Content.Client.CharacterInterface;
using Content.Client.Chat.Managers;
using Content.Client.Options;
using Content.Client.Eui;
using Content.Client.Flash;
using Content.Client.GhostKick;
using Content.Client.HUD;
using Content.Client.Info;
using Content.Client.Input;
using Content.Client.IoC;
@@ -31,7 +29,6 @@ using Content.Shared.Markers;
using Robust.Client;
using Robust.Client.Graphics;
using Robust.Client.Input;
using Robust.Client.Player;
using Robust.Client.State;
using Robust.Client.UserInterface;
using Robust.Shared.Configuration;
@@ -42,14 +39,11 @@ using Robust.Shared.Configuration;
using Robust.Shared.ContentPack;
using Robust.Shared.Map;
using Robust.Shared.Prototypes;
using Robust.Shared.Timing;
namespace Content.Client.Entry
{
public sealed class EntryPoint : GameClient
{
[Dependency] private readonly IPlayerManager _playerManager = default!;
[Dependency] private readonly IEntityManager _entityManager = default!;
[Dependency] private readonly IBaseClient _baseClient = default!;
[Dependency] private readonly IGameController _gameController = default!;
[Dependency] private readonly IStateManager _stateManager = default!;
@@ -76,7 +70,6 @@ namespace Content.Client.Entry
[Dependency] private readonly GhostKickManager _ghostKick = default!;
[Dependency] private readonly ExtendedDisconnectInformationManager _extendedDisconnectInformation = default!;
[Dependency] private readonly PlayTimeTrackingManager _playTimeTracking = default!;
[Dependency] private readonly IGameHud _gameHud = default!;
public const int NetBufferSizeOverride = 2;
@@ -168,9 +161,6 @@ namespace Content.Client.Entry
_overlayManager.AddOverlay(new FlashOverlay());
_overlayManager.AddOverlay(new RadiationPulseOverlay());
_baseClient.PlayerJoinedServer += SubscribePlayerAttachmentEvents;
_baseClient.PlayerLeaveServer += UnsubscribePlayerAttachmentEvents;
_gameHud.Initialize();
_chatManager.Initialize();
_clientPreferencesManager.Initialize();
_euiManager.Initialize();
@@ -194,56 +184,6 @@ namespace Content.Client.Entry
SwitchToDefaultState();
}
public override void Update(ModUpdateLevel level, FrameEventArgs frameEventArgs)
{
base.Update(level, frameEventArgs);
switch (level)
{
case ModUpdateLevel.FramePreEngine:
// TODO: Turn IChatManager into an EntitySystem and remove the line below.
IoCManager.Resolve<IChatManager>().FrameUpdate(frameEventArgs);
break;
}
}
/// <summary>
/// Subscribe events to the player manager after the player manager is set up
/// </summary>
/// <param name="sender"></param>
/// <param name="args"></param>
public void SubscribePlayerAttachmentEvents(object? sender, EventArgs args)
{
if (_playerManager.LocalPlayer != null)
{
_playerManager.LocalPlayer.EntityAttached += AttachPlayerToEntity;
_playerManager.LocalPlayer.EntityDetached += DetachPlayerFromEntity;
}
}
public void UnsubscribePlayerAttachmentEvents(object? sender, EventArgs args)
{
if (_playerManager.LocalPlayer != null)
{
_playerManager.LocalPlayer.EntityAttached -= AttachPlayerToEntity;
_playerManager.LocalPlayer.EntityDetached -= DetachPlayerFromEntity;
}
}
public void AttachPlayerToEntity(EntityAttachedEventArgs eventArgs)
{
// TODO This is shitcode. Move this to an entity system, FOR FUCK'S SAKE
_entityManager.AddComponent<CharacterInterfaceComponent>(eventArgs.NewEntity);
}
public void DetachPlayerFromEntity(EntityDetachedEventArgs eventArgs)
{
// TODO This is shitcode. Move this to an entity system, FOR FUCK'S SAKE
if (!_entityManager.Deleted(eventArgs.OldEntity))
{
_entityManager.RemoveComponent<CharacterInterfaceComponent>(eventArgs.OldEntity);
}
}
private void SwitchToDefaultState(bool disconnected = false)
{
// Fire off into state dependent on launcher or not.