private void ForwardTarget(NetworkReader sReader, NetworkWriter sWriter, byte targetMask, HumanoidControl.TargetId targetId) { if (HumanoidNetworking.IsTargetActive(targetMask, targetId)) { ForwardTransform(sReader, sWriter); } }
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); } } }