diff --git a/Assets/Scripts/Gameplay/GameplayObjects/Character/ClientAvatarGuidHandler.cs b/Assets/Scripts/Gameplay/GameplayObjects/Character/ClientAvatarGuidHandler.cs index a3d76552f..05c243c8e 100644 --- a/Assets/Scripts/Gameplay/GameplayObjects/Character/ClientAvatarGuidHandler.cs +++ b/Assets/Scripts/Gameplay/GameplayObjects/Character/ClientAvatarGuidHandler.cs @@ -42,7 +42,6 @@ void InstantiateAvatar() Instantiate(m_NetworkAvatarGuidState.RegisteredAvatar.Graphics, m_GraphicsAnimator.transform); m_GraphicsAnimator.Rebind(); - m_GraphicsAnimator.Update(0f); AvatarGraphicsSpawned?.Invoke(m_GraphicsAnimator.gameObject); } diff --git a/Assets/Scripts/Gameplay/GameplayObjects/Character/ServerAnimationHandler.cs b/Assets/Scripts/Gameplay/GameplayObjects/Character/ServerAnimationHandler.cs index 59e151550..84bc0b701 100644 --- a/Assets/Scripts/Gameplay/GameplayObjects/Character/ServerAnimationHandler.cs +++ b/Assets/Scripts/Gameplay/GameplayObjects/Character/ServerAnimationHandler.cs @@ -1,5 +1,4 @@ using System; -using System.Collections; using Unity.BossRoom.Gameplay.Configuration; using Unity.Netcode; using Unity.Netcode.Components; @@ -24,18 +23,7 @@ public override void OnNetworkSpawn() { if (IsServer) { - // Wait until next frame before registering on OnValueChanged to make sure NetworkAnimator has spawned before. - StartCoroutine(WaitToRegisterOnLifeStateChanged()); - } - } - - IEnumerator WaitToRegisterOnLifeStateChanged() - { - yield return new WaitForEndOfFrame(); - m_NetworkLifeState.LifeState.OnValueChanged += OnLifeStateChanged; - if (m_NetworkLifeState.LifeState.Value != LifeState.Alive) - { - OnLifeStateChanged(LifeState.Alive, m_NetworkLifeState.LifeState.Value); + m_NetworkLifeState.LifeState.OnValueChanged += OnLifeStateChanged; } } @@ -59,7 +47,7 @@ void OnLifeStateChanged(LifeState previousValue, LifeState newValue) public override void OnNetworkDespawn() { - if (IsServer) + if (IsServer && m_NetworkLifeState) { m_NetworkLifeState.LifeState.OnValueChanged -= OnLifeStateChanged; } diff --git a/CHANGELOG.md b/CHANGELOG.md index fac762d73..4c1997c2c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) Additional documentation and release notes are available at [Multiplayer Documentation](https://docs-multiplayer.unity3d.com). +## [unreleased] - yyyy-mm-dd +### Cleanup +* Removed an unneeded workaround for animation syncing on OnNetworkSpawn of ServerAnimationHandler (#783) Refactorings to NetworkAnimator have made it unnecessary to manually sync an Animator's base animation state. + ## [2.2.0] - 2023-06-14 ### Added