public override CommandNode DeepClone(GameObject dataHolder) { CNJointGroups clone = CRTreeNode.CreateInstance <CNJointGroups>(dataHolder); clone.objectsA_ = ObjectsA.DeepClone(); clone.objectsB_ = ObjectsB.DeepClone(); clone.locatorsC_ = LocatorsC.DeepClone(); clone.Name = Name; clone.needsUpdate_ = needsUpdate_; clone.creationMode_ = creationMode_; clone.isRigidGlue_ = isRigidGlue_; clone.contactDistanceSearch_ = contactDistanceSearch_; clone.contactAreaMin_ = contactAreaMin_; clone.contactAngleMaxInDegrees_ = contactAngleMaxInDegrees_; clone.contactNumberMax_ = contactNumberMax_; clone.matchingDistanceSearch_ = matchingDistanceSearch_; clone.limitNumberOfActiveJoints_ = limitNumberOfActiveJoints_; clone.activeJointsMaxInABPair_ = activeJointsMaxInABPair_; clone.disableCollisionsByPairs_ = disableCollisionsByPairs_; clone.disableAllCollisionsOfAsWithBs_ = disableAllCollisionsOfAsWithBs_; clone.forcemaxMode_ = forcemaxMode_; clone.forceMax_ = forceMax_; clone.forceMaxRand_ = forceMaxRand_; clone.forceProfile_ = new AnimationCurve(); int nKeys = forceProfile_.length; Keyframe[] arrKeys = forceProfile_.keys; Keyframe[] arrClonedKey = new Keyframe[nKeys]; for (int i = 0; i < nKeys; i++) { arrClonedKey[i] = arrKeys[i]; } clone.forceProfile_.keys = arrClonedKey; clone.enableCollisionIfBreak_ = enableCollisionIfBreak_; clone.breakIfForceMax_ = breakIfForceMax_; clone.breakAllIfLeftFewUnbroken_ = breakAllIfLeftFewUnbroken_; clone.unbrokenNumberForBreakAll_ = unbrokenNumberForBreakAll_; clone.breakIfDistExcedeed_ = breakIfDistExcedeed_; clone.distanceForBreak_ = distanceForBreak_; clone.distanceForBreakRand_ = distanceForBreakRand_; clone.breakIfHinge_ = breakIfHinge_; clone.plasticity_ = plasticity_; clone.distanceForPlasticity_ = distanceForPlasticity_; clone.plasticityRateAcquired_ = plasticityRateAcquired_; return(clone); }
protected override void CloneData(CommandNode node) { base.CloneData(node); CNJointGroups clone = (CNJointGroups)node; clone.objectsA_ = ObjectsA.DeepClone(); clone.objectsB_ = ObjectsB.DeepClone(); clone.locatorsC_ = LocatorsC.DeepClone(); clone.delayedCreationTime_ = delayedCreationTime_; clone.creationMode_ = creationMode_; clone.isRigidGlue_ = isRigidGlue_; clone.contactDistanceSearch_ = contactDistanceSearch_; clone.contactAreaMin_ = contactAreaMin_; clone.contactAngleMaxInDegrees_ = contactAngleMaxInDegrees_; clone.contactNumberMax_ = contactNumberMax_; clone.matchingDistanceSearch_ = matchingDistanceSearch_; clone.limitNumberOfActiveJoints_ = limitNumberOfActiveJoints_; clone.activeJointsMaxInABPair_ = activeJointsMaxInABPair_; clone.disableCollisionsByPairs_ = disableCollisionsByPairs_; clone.disableAllCollisionsOfAsWithBs_ = disableAllCollisionsOfAsWithBs_; clone.forcemaxMode_ = forcemaxMode_; clone.forceMax_ = forceMax_; clone.forceMaxRand_ = forceMaxRand_; clone.forceProfile_ = forceProfile_.DeepClone(); clone.enableCollisionIfBreak_ = enableCollisionIfBreak_; clone.breakIfForceMax_ = breakIfForceMax_; clone.breakAllIfLeftFewUnbroken_ = breakAllIfLeftFewUnbroken_; clone.unbrokenNumberForBreakAll_ = unbrokenNumberForBreakAll_; clone.breakIfDistExcedeed_ = breakIfDistExcedeed_; clone.distanceForBreak_ = distanceForBreak_; clone.distanceForBreakRand_ = distanceForBreakRand_; clone.breakIfHinge_ = breakIfHinge_; clone.plasticity_ = plasticity_; clone.distanceForPlasticity_ = distanceForPlasticity_; clone.plasticityRateAcquired_ = plasticityRateAcquired_; clone.delayedCreationTime_ = delayedCreationTime_; clone.damping_ = damping_; }
public override CommandNode DeepClone(GameObject dataHolder) { CNServos clone = CRTreeNode.CreateInstance <CNServos>(dataHolder); clone.objectsA_ = ObjectsA.DeepClone(); clone.objectsB_ = ObjectsB.DeepClone(); clone.Name = Name; clone.isLinearOrAngular_ = isLinearOrAngular_; clone.isPositionOrVelocity_ = isPositionOrVelocity_; clone.isCreateModeNearest_ = isCreateModeNearest_; clone.isCreateModeChain_ = isCreateModeChain_; clone.isFreeX_ = isFreeX_; clone.isFreeY_ = isFreeY_; clone.isFreeZ_ = isFreeZ_; clone.isBlockedX_ = isBlockedX_; clone.isBlockedY_ = isBlockedY_; clone.isBlockedZ_ = isBlockedZ_; clone.disableCollisionByPairs_ = disableCollisionByPairs_; clone.targetExternal_LOCAL_ = targetExternal_LOCAL_; clone.reactionTime_ = reactionTime_; clone.overreactionDelta_ = overreactionDelta_;; clone.speedMax_ = speedMax_; clone.powerMax_ = powerMax_; clone.forceMax_ = forceMax_; clone.brakePowerMax_ = brakePowerMax_; clone.brakeForceMax_ = brakeForceMax_; clone.isBreakIfDist_ = isBreakIfDist_; clone.isBreakIfAng_ = isBreakIfAng_; clone.breakDistance_ = breakDistance_; clone.breakAngleInDegrees_ = breakAngleInDegrees_; clone.dampingForce_ = dampingForce_; clone.distStepToDefineMultiplierDependingOnDist_ = distStepToDefineMultiplierDependingOnDist_; clone.functionMultiplierDependingOnDist_ = new AnimationCurve(); int nKeys = functionMultiplierDependingOnDist_.length; Keyframe[] arrKeys = functionMultiplierDependingOnDist_.keys; Keyframe[] arrClonedKey = new Keyframe[nKeys]; for (int i = 0; i < nKeys; i++) { arrClonedKey[i] = arrKeys[i]; } clone.functionMultiplierDependingOnDist_.keys = arrClonedKey; clone.multiplier_ = multiplier_; return(clone); }
protected override void CloneData(CommandNode node) { base.CloneData(node); CNServos clone = (CNServos)node; clone.objectsA_ = ObjectsA.DeepClone(); clone.objectsB_ = ObjectsB.DeepClone(); clone.isLinearOrAngular_ = isLinearOrAngular_; clone.isPositionOrVelocity_ = isPositionOrVelocity_; clone.isCreateModeNearest_ = isCreateModeNearest_; clone.isCreateModeChain_ = isCreateModeChain_; clone.localSystem_ = localSystem_; clone.isFreeX_ = isFreeX_; clone.isFreeY_ = isFreeY_; clone.isFreeZ_ = isFreeZ_; clone.isBlockedX_ = isBlockedX_; clone.isBlockedY_ = isBlockedY_; clone.isBlockedZ_ = isBlockedZ_; clone.disableCollisionByPairs_ = disableCollisionByPairs_; clone.targetExternal_LOCAL_ = targetExternal_LOCAL_; if (targetExternal_LOCAL_NEW_ != null) { clone.targetExternal_LOCAL_NEW_ = targetExternal_LOCAL_NEW_.DeepClone(); } clone.reactionTime_ = reactionTime_; clone.overreactionDelta_ = overreactionDelta_;; clone.speedMax_ = speedMax_; clone.maximumSpeed_ = maximumSpeed_; clone.powerMax_ = powerMax_; clone.maximumPower_ = maximumPower_; clone.forceMax_ = forceMax_; clone.maximumForce_ = maximumForce_; clone.brakePowerMax_ = brakePowerMax_; clone.maximumBrakePowerMax_ = maximumBrakePowerMax_; clone.brakeForceMax_ = brakeForceMax_; clone.maximumBrakeForceMax_ = maximumBrakeForceMax_; clone.isBreakIfDist_ = isBreakIfDist_; clone.isBreakIfAng_ = isBreakIfAng_; clone.breakDistance_ = breakDistance_; clone.breakAngleInDegrees_ = breakAngleInDegrees_; clone.dampingForce_ = dampingForce_; clone.distStepToDefineMultiplierDependingOnDist_ = distStepToDefineMultiplierDependingOnDist_; clone.functionMultiplierDependingOnDist_ = functionMultiplierDependingOnDist_.DeepClone(); clone.multiplier_ = multiplier_; }