예제 #1
0
        void CheckSendRate()
        {
            double now = NetworkTime.localTime;

            if (SendMessagesAllowed && syncInterval >= 0 && now > nextSendTime)
            {
                nextSendTime = now + syncInterval;

                using (NetworkWriterPooled writer = NetworkWriterPool.Get())
                {
                    if (WriteParameters(writer))
                    {
                        SendAnimationParametersMessage(writer.ToArray());
                    }
                }
            }
        }
예제 #2
0
        void FixedUpdate()
        {
            if (!SendMessagesAllowed)
            {
                return;
            }

            if (!animator.enabled)
            {
                return;
            }

            CheckSendRate();

            for (int i = 0; i < animator.layerCount; i++)
            {
                int   stateHash;
                float normalizedTime;
                if (!CheckAnimStateChanged(out stateHash, out normalizedTime, i))
                {
                    continue;
                }

                using (NetworkWriterPooled writer = NetworkWriterPool.Get())
                {
                    WriteParameters(writer);
                    SendAnimationMessage(stateHash, normalizedTime, i, layerWeight[i], writer.ToArray());
                }
            }

            CheckSpeed();
        }