Removes all dependencies on engine component events. (#4199)

This commit is contained in:
Acruid
2021-06-18 01:49:18 -07:00
committed by GitHub
parent 9fea68707c
commit e1e54e9cb1
27 changed files with 235 additions and 184 deletions

View File

@@ -76,39 +76,32 @@ namespace Content.Client.CharacterInterface
inputMgr.SetInputCommand(ContentKeyFunctions.OpenCharacterMenu, null);
}
public override void HandleMessage(ComponentMessage message, IComponent? component)
public void PlayerDetached()
{
base.HandleMessage(message, component);
switch (message)
if (Window != null)
{
case PlayerAttachedMsg _:
if (Window != null)
_gameHud.CharacterButtonVisible = false;
Window.Close();
}
}
public void PlayerAttached()
{
if (Window != null)
{
_gameHud.CharacterButtonVisible = true;
_gameHud.CharacterButtonToggled = b =>
{
if (b)
{
_gameHud.CharacterButtonVisible = true;
_gameHud.CharacterButtonToggled = b =>
{
if (b)
{
Window.OpenCentered();
}
else
{
Window.Close();
}
};
Window.OpenCentered();
}
break;
case PlayerDetachedMsg _:
if (Window != null)
else
{
_gameHud.CharacterButtonVisible = false;
Window.Close();
}
break;
};
}
}

View File

@@ -1,6 +1,7 @@
using Content.Client.HUD;
using Content.Shared.Input;
using JetBrains.Annotations;
using Robust.Client.GameObjects;
using Robust.Client.Player;
using Robust.Client.UserInterface.CustomControls;
using Robust.Shared.GameObjects;
@@ -23,6 +24,9 @@ namespace Content.Client.CharacterInterface
.Bind(ContentKeyFunctions.OpenCharacterMenu,
InputCmdHandler.FromDelegate(s => HandleOpenCharacterMenu()))
.Register<CharacterInterfaceSystem>();
SubscribeLocalEvent<CharacterInterfaceComponent, PlayerAttachedEvent>((_, component, _) => component.PlayerAttached());
SubscribeLocalEvent<CharacterInterfaceComponent, PlayerDetachedEvent>((_, component, _) => component.PlayerDetached());
}
public override void Shutdown()