コード例 #1
0
 private void ForwardTarget(NetworkReader sReader, NetworkWriter sWriter, byte targetMask, HumanoidControl.TargetId targetId)
 {
     if (HumanoidNetworking.IsTargetActive(targetMask, targetId))
     {
         ForwardTransform(sReader, sWriter);
     }
 }
コード例 #2
0
        public void ForwardAvatarPose(NetworkReader sReader, NetworkWriter sWriter)
        {
            int nwId = sReader.ReadInt32();

            sWriter.Write(nwId); // NwId
            int humanoidId = sReader.ReadInt32();

            sWriter.Write(humanoidId);           // HumanoidId

            sWriter.Write(sReader.ReadSingle()); // Pose Time

            byte targetMask = sReader.ReadByte();

            sWriter.Write(targetMask);

            if (debug <= HumanoidNetworking.Debug.Debug)
            {
                Debug.Log(nwId + ": Forward Pose Humanoid = " + humanoidId + ", targetMask = " + targetMask);
            }

            ForwardTransform(sReader, sWriter); // humanoid.transform is always sent

            ForwardTargets(sReader, sWriter, targetMask);

            if (HumanoidNetworking.IsTargetActive(targetMask, HumanoidControl.TargetId.LeftHand))
            {
                bool leftHandIncluded = sReader.ReadBoolean();
                sWriter.Write(leftHandIncluded);
                if (leftHandIncluded)
                {
                    ForwardAvatarHandPose(sReader, sWriter);
                }
            }

            if (HumanoidNetworking.IsTargetActive(targetMask, HumanoidControl.TargetId.RightHand))
            {
                bool rightHandIncluded = sReader.ReadBoolean();
                sWriter.Write(rightHandIncluded);
                if (rightHandIncluded)
                {
                    ForwardAvatarHandPose(sReader, sWriter);
                }
            }
        }