@@ -13,6 +13,8 @@ public class NetworkedAnimator : NetworkedBehaviour
1313 [ SerializeField ] uint m_ParameterSendBits ;
1414 [ SerializeField ] float m_SendRate = 0.1f ;
1515
16+ AnimatorControllerParameter [ ] m_AnimatorParameters ;
17+
1618 // properties
1719 public Animator animator
1820 {
@@ -72,6 +74,7 @@ public void ResetParameterOptions()
7274 {
7375 Debug . Log ( "ResetParameterOptions" ) ;
7476 m_ParameterSendBits = 0 ;
77+ m_AnimatorParameters = null ;
7578 }
7679
7780 void FixedUpdate ( )
@@ -245,12 +248,13 @@ internal void HandleAnimTriggerMsg(int clientId, byte[] data)
245248
246249 void WriteParameters ( BinaryWriter writer , bool autoSend )
247250 {
248- for ( int i = 0 ; i < m_Animator . parameters . Length ; i ++ )
251+ if ( m_AnimatorParameters == null ) m_AnimatorParameters = m_Animator . parameters ;
252+ for ( int i = 0 ; i < m_AnimatorParameters . Length ; i ++ )
249253 {
250254 if ( autoSend && ! GetParameterAutoSend ( i ) )
251255 continue ;
252256
253- AnimatorControllerParameter par = m_Animator . parameters [ i ] ;
257+ AnimatorControllerParameter par = m_AnimatorParameters [ i ] ;
254258 if ( par . type == AnimatorControllerParameterType . Int )
255259 {
256260 writer . Write ( ( uint ) m_Animator . GetInteger ( par . nameHash ) ) ;
@@ -276,12 +280,13 @@ void WriteParameters(BinaryWriter writer, bool autoSend)
276280
277281 void ReadParameters ( BinaryReader reader , bool autoSend )
278282 {
279- for ( int i = 0 ; i < m_Animator . parameters . Length ; i ++ )
283+ if ( m_AnimatorParameters == null ) m_AnimatorParameters = m_Animator . parameters ;
284+ for ( int i = 0 ; i < m_AnimatorParameters . Length ; i ++ )
280285 {
281286 if ( autoSend && ! GetParameterAutoSend ( i ) )
282287 continue ;
283288
284- AnimatorControllerParameter par = m_Animator . parameters [ i ] ;
289+ AnimatorControllerParameter par = m_AnimatorParameters [ i ] ;
285290 if ( par . type == AnimatorControllerParameterType . Int )
286291 {
287292 int newValue = ( int ) reader . ReadUInt32 ( ) ;
0 commit comments