Fix player attachment events.
This commit is contained in:
@@ -44,6 +44,8 @@ namespace Content.Client
|
|||||||
{
|
{
|
||||||
public class EntryPoint : GameClient
|
public class EntryPoint : GameClient
|
||||||
{
|
{
|
||||||
|
[Dependency] private readonly IPlayerManager _playerManager;
|
||||||
|
|
||||||
public override void Init()
|
public override void Init()
|
||||||
{
|
{
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
@@ -146,6 +148,8 @@ namespace Content.Client
|
|||||||
var stylesheet = new NanoStyle();
|
var stylesheet = new NanoStyle();
|
||||||
|
|
||||||
IoCManager.Resolve<IUserInterfaceManager>().Stylesheet = stylesheet.Stylesheet;
|
IoCManager.Resolve<IUserInterfaceManager>().Stylesheet = stylesheet.Stylesheet;
|
||||||
|
|
||||||
|
IoCManager.InjectDependencies(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -155,33 +159,24 @@ namespace Content.Client
|
|||||||
/// <param name="args"></param>
|
/// <param name="args"></param>
|
||||||
public void SubscribePlayerAttachmentEvents(object sender, EventArgs args)
|
public void SubscribePlayerAttachmentEvents(object sender, EventArgs args)
|
||||||
{
|
{
|
||||||
IoCManager.Resolve<IPlayerManager>().LocalPlayer.EntityAttached += AttachPlayerToEntity;
|
_playerManager.LocalPlayer.EntityAttached += AttachPlayerToEntity;
|
||||||
IoCManager.Resolve<IPlayerManager>().LocalPlayer.EntityDetached += DetachPlayerFromEntity;
|
_playerManager.LocalPlayer.EntityDetached += DetachPlayerFromEntity;
|
||||||
AttachPlayerToEntity(IoCManager.Resolve<IPlayerManager>().LocalPlayer, EventArgs.Empty);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Add the character interface master which combines all character interfaces into one window
|
/// Add the character interface master which combines all character interfaces into one window
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="sender"></param>
|
public static void AttachPlayerToEntity(EntityAttachedEventArgs eventArgs)
|
||||||
/// <param name="args"></param>
|
|
||||||
public void AttachPlayerToEntity(object sender, EventArgs args)
|
|
||||||
{
|
{
|
||||||
var localplayer = (LocalPlayer)sender;
|
eventArgs.NewEntity.AddComponent<CharacterInterface>();
|
||||||
|
|
||||||
localplayer.ControlledEntity?.AddComponent<CharacterInterface>();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Remove the character interface master from this entity now that we have detached ourselves from it
|
/// Remove the character interface master from this entity now that we have detached ourselves from it
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="sender"></param>
|
public static void DetachPlayerFromEntity(EntityDetachedEventArgs eventArgs)
|
||||||
/// <param name="args"></param>
|
|
||||||
public void DetachPlayerFromEntity(object sender, EventArgs args)
|
|
||||||
{
|
{
|
||||||
var localplayer = (LocalPlayer)sender;
|
eventArgs.OldEntity.RemoveComponent<CharacterInterface>();
|
||||||
//Wont work atm, controlled entity gets nulled before this event fires
|
|
||||||
localplayer.ControlledEntity?.RemoveComponent<CharacterInterface>();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void PostInit()
|
public override void PostInit()
|
||||||
|
|||||||
Reference in New Issue
Block a user