protected override YAMLMappingNode ExportYAMLRoot(IExportContainer container)
        {
            YAMLMappingNode node = base.ExportYAMLRoot(container);

            node.Add(ConnectedBodyName, ConnectedBody.ExportYAML(container));
            node.Add(AnchorName, Anchor.ExportYAML(container));
            node.Add(AxisName, Axis.ExportYAML(container));
            node.Add(AutoConfigureConnectedAnchorName, AutoConfigureConnectedAnchor);
            node.Add(ConnectedAnchorName, ConnectedAnchor.ExportYAML(container));

            node.AddSerializedVersion(GetSerializedVersion(container.ExportVersion));
            node.Add(SwingAxisName, SwingAxis.ExportYAML(container));
            node.Add(TwistLimitSpringName, TwistLimitSpring.ExportYAML(container));
            node.Add(LowTwistLimitName, LowTwistLimit.ExportYAML(container));
            node.Add(HighTwistLimitName, HighTwistLimit.ExportYAML(container));
            node.Add(SwingLimitSpringName, SwingLimitSpring.ExportYAML(container));
            node.Add(Swing1LimitName, Swing1Limit.ExportYAML(container));
            node.Add(Swing2LimitName, Swing2Limit.ExportYAML(container));
            node.Add(ProjectionDistanceName, ProjectionDistance);
            node.Add(ProjectionAngleName, ProjectionAngle);

            node.Add(BreakForceName, BreakForce);
            node.Add(BreakTorqueName, BreakTorque);
            node.Add(EnableCollisionName, EnableCollision);
            node.Add(EnablePreprocessingName, EnablePreprocessing);
            node.Add(MassScaleName, MassScale);
            node.Add(ConnectedMassScaleName, ConnectedMassScale);
            return(node);
        }
コード例 #2
0
        public override void Read(AssetReader reader)
        {
            base.Read(reader);
            ConnectedBody.Read(reader);
            Anchor = reader.ReadAsset <Vector3f>();
            AutoConfigureConnectedAnchor = reader.ReadBoolean();
            reader.AlignStream(AlignType.Align4);
            ConnectedAnchor = reader.ReadAsset <Vector3f>();

            Spring      = reader.ReadSingle();
            Damper      = reader.ReadSingle();
            MinDistance = reader.ReadSingle();
            MaxDistance = reader.ReadSingle();
            Tolerance   = reader.ReadSingle();

            BreakForce          = reader.ReadSingle();
            BreakTorque         = reader.ReadSingle();
            EnableCollision     = reader.ReadBoolean();
            EnablePreprocessing = reader.ReadBoolean();
            if (IsReadMassScale(reader.Version))
            {
                reader.AlignStream(AlignType.Align4);
                MassScale          = reader.ReadSingle();
                ConnectedMassScale = reader.ReadSingle();
            }
        }
 public override void Read(AssetReader reader)
 {
     base.Read(reader);
     ConnectedBody.Read(reader);
     Anchor = reader.ReadAsset <Vector3f>();
     Axis   = reader.ReadAsset <Vector3f>();
     AutoConfigureConnectedAnchor = reader.ReadBoolean();
     reader.AlignStream(AlignType.Align4);
     ConnectedAnchor  = reader.ReadAsset <Vector3f>();
     SwingAxis        = reader.ReadAsset <Vector3f>();
     TwistLimitSpring = reader.ReadAsset <SoftJointLimitSpring>();
     LowTwistLimit    = reader.ReadAsset <SoftJointLimit>();
     HighTwistLimit   = reader.ReadAsset <SoftJointLimit>();
     SwingLimitSpring = reader.ReadAsset <SoftJointLimitSpring>();
     Swing1Limit      = reader.ReadAsset <SoftJointLimit>();
     Swing2Limit      = reader.ReadAsset <SoftJointLimit>();
     EnableProjection = reader.ReadBoolean();
     reader.AlignStream(AlignType.Align4);
     ProjectionDistance  = reader.ReadSingle();
     ProjectionAngle     = reader.ReadSingle();
     BreakForce          = reader.ReadSingle();
     BreakTorque         = reader.ReadSingle();
     EnableCollision     = reader.ReadBoolean();
     EnablePreprocessing = reader.ReadBoolean();
     if (IsReadMassScale(reader.Version))
     {
         reader.AlignStream(AlignType.Align4);
         MassScale          = reader.ReadSingle();
         ConnectedMassScale = reader.ReadSingle();
     }
 }
コード例 #4
0
        protected override YAMLMappingNode ExportYAMLRoot(IExportContainer container)
        {
            YAMLMappingNode node = base.ExportYAMLRoot(container);

            node.Add(ConnectedBodyName, ConnectedBody.ExportYAML(container));
            node.Add(AnchorName, Anchor.ExportYAML(container));
            node.Add(AxisName, Axis.ExportYAML(container));
            node.Add(AutoConfigureConnectedAnchorName, AutoConfigureConnectedAnchor);
            node.Add(ConnectedAnchorName, ConnectedAnchor.ExportYAML(container));

            node.Add(UseSpringName, UseSpring);
            node.Add(SpringName, Spring.ExportYAML(container));
            node.Add(UseMotorName, UseMotor);
            node.Add(MotorName, Motor.ExportYAML(container));
            node.Add(UseLimitsName, UseLimits);
            node.Add(LimitsName, Limits.ExportYAML(container));

            node.Add(BreakForceName, BreakForce);
            node.Add(BreakTorqueName, BreakTorque);
            node.Add(EnableCollisionName, EnableCollision);
            node.Add(EnablePreprocessingName, EnablePreprocessing);
            node.Add(MassScaleName, MassScale);
            node.Add(ConnectedMassScaleName, ConnectedMassScale);
            return(node);
        }
コード例 #5
0
        public override void Read(AssetReader reader)
        {
            base.Read(reader);
            ConnectedBody.Read(reader);
            Anchor = reader.ReadAsset <Vector3f>();
            Axis   = reader.ReadAsset <Vector3f>();
            AutoConfigureConnectedAnchor = reader.ReadBoolean();
            reader.AlignStream(AlignType.Align4);
            ConnectedAnchor = reader.ReadAsset <Vector3f>();

            UseSpring = reader.ReadBoolean();
            reader.AlignStream(AlignType.Align4);
            Spring   = reader.ReadAsset <JointSpring>();
            UseMotor = reader.ReadBoolean();
            reader.AlignStream(AlignType.Align4);
            Motor     = reader.ReadAsset <JointMotor>();
            UseLimits = reader.ReadBoolean();
            reader.AlignStream(AlignType.Align4);
            Limits = reader.ReadAsset <JointLimits>();

            BreakForce      = reader.ReadSingle();
            BreakTorque     = reader.ReadSingle();
            EnableCollision = reader.ReadBoolean();
            if (IsReadMassScale(reader.Version))
            {
                reader.AlignStream(AlignType.Align4);
                MassScale          = reader.ReadSingle();
                ConnectedMassScale = reader.ReadSingle();
            }
        }
コード例 #6
0
        public override IEnumerable <Object> FetchDependencies(ISerializedFile file, bool isLog = false)
        {
            foreach (Object asset in base.FetchDependencies(file, isLog))
            {
                yield return(asset);
            }

            yield return(ConnectedBody.FetchDependency(file, isLog, ToLogString, ConnectedBodyName));
        }
        public override void Read(AssetReader reader)
        {
            base.Read(reader);
            ConnectedBody.Read(reader);
            Anchor = reader.ReadAsset <Vector3f>();
            Axis   = reader.ReadAsset <Vector3f>();
            AutoConfigureConnectedAnchor = reader.ReadBoolean();
            reader.AlignStream(AlignType.Align4);
            ConnectedAnchor = reader.ReadAsset <Vector3f>();

            SecondaryAxis        = reader.ReadAsset <Vector3f>();
            XMotion              = (ConfigurableJointMotion)reader.ReadInt32();
            YMotion              = (ConfigurableJointMotion)reader.ReadInt32();
            ZMotion              = (ConfigurableJointMotion)reader.ReadInt32();
            AngularXMotion       = (ConfigurableJointMotion)reader.ReadInt32();
            AngularYMotion       = (ConfigurableJointMotion)reader.ReadInt32();
            AngularZMotion       = (ConfigurableJointMotion)reader.ReadInt32();
            LinearLimitSpring    = reader.ReadAsset <SoftJointLimitSpring>();
            LinearLimit          = reader.ReadAsset <SoftJointLimit>();
            AngularXLimitSpring  = reader.ReadAsset <SoftJointLimitSpring>();
            LowAngularXLimit     = reader.ReadAsset <SoftJointLimit>();
            HighAngularXLimit    = reader.ReadAsset <SoftJointLimit>();
            AngularYZLimitSpring = reader.ReadAsset <SoftJointLimitSpring>();
            AngularYLimit        = reader.ReadAsset <SoftJointLimit>();
            AngularZLimit        = reader.ReadAsset <SoftJointLimit>();
            TargetPosition       = reader.ReadAsset <Vector3f>();
            TargetVelocity       = reader.ReadAsset <Vector3f>();
            XDrive                 = reader.ReadAsset <JointDrive>();
            YDrive                 = reader.ReadAsset <JointDrive>();
            ZDrive                 = reader.ReadAsset <JointDrive>();
            TargetRotation         = reader.ReadAsset <Quaternionf>();
            TargetAngularVelocity  = reader.ReadAsset <Vector3f>();
            RotationDriveMode      = (RotationDriveMode)reader.ReadInt32();
            AngularXDrive          = reader.ReadAsset <JointDrive>();
            AngularYZDrive         = reader.ReadAsset <JointDrive>();
            SlerpDrive             = reader.ReadAsset <JointDrive>();
            ProjectionMode         = (JointProjectionMode)reader.ReadInt32();
            ProjectionDistance     = reader.ReadSingle();
            ProjectionAngle        = reader.ReadSingle();
            ConfiguredInWorldSpace = reader.ReadBoolean();
            SwapBodies             = reader.ReadBoolean();
            reader.AlignStream(AlignType.Align4);
            BreakForce          = reader.ReadSingle();
            BreakTorque         = reader.ReadSingle();
            EnableCollision     = reader.ReadBoolean();
            EnablePreprocessing = reader.ReadBoolean();
            if (IsReadMassScale(reader.Version))
            {
                reader.AlignStream(AlignType.Align4);
                MassScale          = reader.ReadSingle();
                ConnectedMassScale = reader.ReadSingle();
            }
        }
        protected override YAMLMappingNode ExportYAMLRoot(IExportContainer container)
        {
            YAMLMappingNode node = base.ExportYAMLRoot(container);

            node.Add(ConnectedBodyName, ConnectedBody.ExportYAML(container));
            node.Add(AnchorName, Anchor.ExportYAML(container));
            node.Add(AxisName, Axis.ExportYAML(container));
            node.Add(AutoConfigureConnectedAnchorName, AutoConfigureConnectedAnchor);
            node.Add(ConnectedAnchorName, ConnectedAnchor.ExportYAML(container));

            node.AddSerializedVersion(GetSerializedVersion(container.ExportVersion));
            node.Add(SecondaryAxisName, SecondaryAxis.ExportYAML(container));
            node.Add(XMotionName, (int)XMotion);
            node.Add(YMotionName, (int)YMotion);
            node.Add(ZMotionName, (int)ZMotion);
            node.Add(AngularXMotionName, (int)AngularXMotion);
            node.Add(AngularYMotionName, (int)AngularYMotion);
            node.Add(AngularZMotionName, (int)AngularZMotion);
            node.Add(LinearLimitSpringName, LinearLimitSpring.ExportYAML(container));
            node.Add(LinearLimitName, LinearLimit.ExportYAML(container));
            node.Add(AngularXLimitSpringName, AngularXLimitSpring.ExportYAML(container));
            node.Add(LowAngularXLimitName, LowAngularXLimit.ExportYAML(container));
            node.Add(HighAngularXLimitName, HighAngularXLimit.ExportYAML(container));
            node.Add(AngularYZLimitSpringName, AngularYZLimitSpring.ExportYAML(container));
            node.Add(AngularYLimitName, AngularYLimit.ExportYAML(container));
            node.Add(AngularZLimitName, AngularZLimit.ExportYAML(container));
            node.Add(TargetPositionName, TargetPosition.ExportYAML(container));
            node.Add(TargetVelocityName, TargetVelocity.ExportYAML(container));
            node.Add(XDriveName, XDrive.ExportYAML(container));
            node.Add(YDriveName, YDrive.ExportYAML(container));
            node.Add(ZDriveName, ZDrive.ExportYAML(container));
            node.Add(TargetRotationName, TargetRotation.ExportYAML(container));
            node.Add(TargetAngularVelocityName, TargetAngularVelocity.ExportYAML(container));
            node.Add(RotationDriveModeName, (int)RotationDriveMode);
            node.Add(AngularXDriveName, AngularXDrive.ExportYAML(container));
            node.Add(AngularYZDriveName, AngularYZDrive.ExportYAML(container));
            node.Add(SlerpDriveName, SlerpDrive.ExportYAML(container));
            node.Add(ProjectionModeName, (int)ProjectionMode);
            node.Add(ProjectionDistanceName, ProjectionDistance);
            node.Add(ProjectionAngleName, ProjectionAngle);
            node.Add(ConfiguredInWorldSpaceName, ConfiguredInWorldSpace);
            node.Add(SwapBodiesName, SwapBodies);

            node.Add(BreakForceName, BreakForce);
            node.Add(BreakTorqueName, BreakTorque);
            node.Add(EnableCollisionName, EnableCollision);
            node.Add(EnablePreprocessingName, EnablePreprocessing);
            node.Add(MassScaleName, MassScale);
            node.Add(ConnectedMassScaleName, ConnectedMassScale);
            return(node);
        }
コード例 #9
0
        protected override YAMLMappingNode ExportYAMLRoot(IExportContainer container)
        {
            YAMLMappingNode node = base.ExportYAMLRoot(container);

            node.Add(ConnectedBodyName, ConnectedBody.ExportYAML(container));

            node.Add(BreakForceName, BreakForce);
            node.Add(BreakTorqueName, BreakTorque);
            node.Add(EnableCollisionName, EnableCollision);
            node.Add(EnablePreprocessingName, EnablePreprocessing);
            node.Add(MassScaleName, MassScale);
            node.Add(ConnectedMassScaleName, ConnectedMassScale);
            return(node);
        }
コード例 #10
0
        public override void Read(AssetReader reader)
        {
            base.Read(reader);
            ConnectedBody.Read(reader);

            BreakForce          = reader.ReadSingle();
            BreakTorque         = reader.ReadSingle();
            EnableCollision     = reader.ReadBoolean();
            EnablePreprocessing = reader.ReadBoolean();
            if (IsReadMassScale(reader.Version))
            {
                reader.AlignStream(AlignType.Align4);
                MassScale          = reader.ReadSingle();
                ConnectedMassScale = reader.ReadSingle();
            }
        }
コード例 #11
0
        protected override YAMLMappingNode ExportYAMLRoot(IExportContainer container)
        {
            YAMLMappingNode node = base.ExportYAMLRoot(container);

            node.Add(ConnectedBodyName, ConnectedBody.ExportYAML(container));
            node.Add(AnchorName, Anchor.ExportYAML(container));
            node.Add(AutoConfigureConnectedAnchorName, AutoConfigureConnectedAnchor);
            node.Add(ConnectedAnchorName, ConnectedAnchor.ExportYAML(container));

            node.AddSerializedVersion(GetSerializedVersion(container.ExportVersion));
            node.Add(SpringName, Spring);
            node.Add(DamperName, Damper);
            node.Add(MinDistanceName, MinDistance);
            node.Add(MaxDistanceName, MaxDistance);
            node.Add(ToleranceName, Tolerance);

            node.Add(BreakForceName, BreakForce);
            node.Add(BreakTorqueName, BreakTorque);
            node.Add(EnableCollisionName, EnableCollision);
            node.Add(EnablePreprocessingName, EnablePreprocessing);
            node.Add(MassScaleName, MassScale);
            node.Add(ConnectedMassScaleName, ConnectedMassScale);
            return(node);
        }