diff --git a/CustomAvatar/FirstPersonExclusion.cs b/CustomAvatar/FirstPersonExclusion.cs index b4a5c66..3bfbe42 100644 --- a/CustomAvatar/FirstPersonExclusion.cs +++ b/CustomAvatar/FirstPersonExclusion.cs @@ -19,17 +19,13 @@ private void OnEnable() } _startLayers = Exclude.Select(x => x.layer).ToArray(); - - Plugin.Instance.FirstPersonEnabledChanged += OnFirstPersonEnabledChanged; - OnFirstPersonEnabledChanged(Plugin.Instance.FirstPersonEnabled); } private void OnDisable() { - Plugin.Instance.FirstPersonEnabledChanged -= OnFirstPersonEnabledChanged; } - private void OnFirstPersonEnabledChanged(bool firstPersonEnabled) + public void OnFirstPersonEnabledChanged(bool firstPersonEnabled) { for (var i = 0; i < Exclude.Length; i++) { diff --git a/CustomAvatar/PlayerAvatarManager.cs b/CustomAvatar/PlayerAvatarManager.cs index 124e784..ab00bbf 100644 --- a/CustomAvatar/PlayerAvatarManager.cs +++ b/CustomAvatar/PlayerAvatarManager.cs @@ -146,6 +146,9 @@ private void OnFirstPersonEnabledChanged(bool firstPersonEnabled) if (_currentSpawnedPlayerAvatar == null) return; AvatarLayers.SetChildrenToLayer(_currentSpawnedPlayerAvatar.GameObject, firstPersonEnabled ? 0 : AvatarLayers.OnlyInThirdPerson); + + foreach (var ex in _currentSpawnedPlayerAvatar.GameObject.GetComponentsInChildren()) + ex.OnFirstPersonEnabledChanged(firstPersonEnabled); } private void SceneManagerOnSceneLoaded(Scene newScene, LoadSceneMode mode)