protected override void Dispose(bool disposing)
 {
     base.Dispose(disposing);
     if (_inputActions != null)
     {
         _inputActions.Destroy();
     }
     _localPlayer = null;
 }
        public override void PreConstruct(object outer)
        {
            base.PreConstruct(outer);
            SetRemoteRole(ERemoteRole.AutonomousProxy);

            clWorld = (ClientWorld)world;

            Assert.IsNull(_localPlayer);
            _localPlayer = this;
            _gameState   = null;
            GameManager.instance.SetScreenModeCursorLockState();

            _inputActions = GameplayInputActions.LoadInputSettings();
        }