public void AuthorityOnAnimatorStateChanged(AnimatorStateInfo fromState, AnimatorStateInfo toState)
        {
            if (!Miscs.ArrayContains <int>(this._muteSyncTagHashes, toState.tagHash))
            {
                MPSendPacketContainer pc = Singleton <MPManager> .Instance.CreateSendPacket <Packet_Entity_AnimatorStateChange>();

                Packet_Entity_AnimatorStateChange.StartPacket_Entity_AnimatorStateChange(pc.builder);
                Packet_Entity_AnimatorStateChange.AddNormalizedTimeTo(pc.builder, (fromState.shortNameHash != toState.shortNameHash) ? toState.normalizedTime : 0f);
                Packet_Entity_AnimatorStateChange.AddToStateHash(pc.builder, toState.shortNameHash);
                Packet_Entity_AnimatorStateChange.AddStateSync(pc.builder, EntityStateSync.CreateEntityStateSync(pc.builder, this._animatorEntity.XZPosition.x, this._animatorEntity.XZPosition.z, MPMiscs.ForwardToXZAngles(this._animatorEntity.FaceDirection)));
                pc.Finish <Packet_Entity_AnimatorStateChange>(Packet_Entity_AnimatorStateChange.EndPacket_Entity_AnimatorStateChange(pc.builder));
                Singleton <MPManager> .Instance.SendStateUpdateToOthers(base.runtimeID, pc);
            }
        }
        protected virtual void AuthoritySendTransformSyncCore()
        {
            if ((Time.time - this._lastSentTime) > this._sendInterval)
            {
                float   xzAngle    = MPMiscs.ForwardToXZAngles(this._lastSetForward);
                Vector3 xZPosition = this._animatorEntity.XZPosition;
                Vector3 vector2    = xZPosition - this._lastSendXZ;
                if (MPMiscs.NeedSyncTransform(vector2.sqrMagnitude, xzAngle - this._lastSentXZAngle))
                {
                    MPSendPacketContainer pc = Singleton <MPManager> .Instance.CreateSendPacket <Packet_Entity_TransformSync>();

                    Packet_Entity_TransformSync.StartPacket_Entity_TransformSync(pc.builder);
                    Packet_Entity_TransformSync.AddStateSync(pc.builder, EntityStateSync.CreateEntityStateSync(pc.builder, this._animatorEntity.XZPosition.x, this._animatorEntity.XZPosition.z, xzAngle));
                    pc.Finish <Packet_Entity_TransformSync>(Packet_Entity_TransformSync.EndPacket_Entity_TransformSync(pc.builder));
                    Singleton <MPManager> .Instance.SendStateUpdateToOthers(base.runtimeID, pc);

                    this._lastSendXZ      = xZPosition;
                    this._lastSentXZAngle = xzAngle;
                    this._lastSentTime    = Time.time;
                }
            }
        }