From 77d92675e23f4a14cf2f0e75467fe741c943e49f Mon Sep 17 00:00:00 2001 From: Pieter-Jan Briers Date: Mon, 29 Apr 2019 12:53:09 +0200 Subject: [PATCH] Fix player attachment events. --- Content.Client/EntryPoint.cs | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/Content.Client/EntryPoint.cs b/Content.Client/EntryPoint.cs index 5caf8bec12..7b258a1722 100644 --- a/Content.Client/EntryPoint.cs +++ b/Content.Client/EntryPoint.cs @@ -44,6 +44,8 @@ namespace Content.Client { public class EntryPoint : GameClient { + [Dependency] private readonly IPlayerManager _playerManager; + public override void Init() { #if DEBUG @@ -146,6 +148,8 @@ namespace Content.Client var stylesheet = new NanoStyle(); IoCManager.Resolve().Stylesheet = stylesheet.Stylesheet; + + IoCManager.InjectDependencies(this); } /// @@ -155,33 +159,24 @@ namespace Content.Client /// public void SubscribePlayerAttachmentEvents(object sender, EventArgs args) { - IoCManager.Resolve().LocalPlayer.EntityAttached += AttachPlayerToEntity; - IoCManager.Resolve().LocalPlayer.EntityDetached += DetachPlayerFromEntity; - AttachPlayerToEntity(IoCManager.Resolve().LocalPlayer, EventArgs.Empty); + _playerManager.LocalPlayer.EntityAttached += AttachPlayerToEntity; + _playerManager.LocalPlayer.EntityDetached += DetachPlayerFromEntity; } /// /// Add the character interface master which combines all character interfaces into one window /// - /// - /// - public void AttachPlayerToEntity(object sender, EventArgs args) + public static void AttachPlayerToEntity(EntityAttachedEventArgs eventArgs) { - var localplayer = (LocalPlayer)sender; - - localplayer.ControlledEntity?.AddComponent(); + eventArgs.NewEntity.AddComponent(); } /// /// Remove the character interface master from this entity now that we have detached ourselves from it /// - /// - /// - public void DetachPlayerFromEntity(object sender, EventArgs args) + public static void DetachPlayerFromEntity(EntityDetachedEventArgs eventArgs) { - var localplayer = (LocalPlayer)sender; - //Wont work atm, controlled entity gets nulled before this event fires - localplayer.ControlledEntity?.RemoveComponent(); + eventArgs.OldEntity.RemoveComponent(); } public override void PostInit()