protected override void AdditionalSettings() { base.AdditionalSettings(); _updateMode = (DynamicBone.UpdateMode)EditorGUILayout.EnumPopup("UpdateMode", _updateMode); _distantDisable = EditorGUILayout.Toggle("DistantDisable", _distantDisable); }
public void getSettings(DynamicBone db, Animator an) { placement.setTransform(db.transform, an); m_Root.setTransform(db.m_Root, an); m_UpdateRate = db.m_UpdateRate; m_UpdateMode = db.m_UpdateMode; m_Damping = db.m_Damping; m_DampingDistrib = db.m_DampingDistrib; m_Elasticity = db.m_Elasticity; m_ElasticityDistrib = db.m_ElasticityDistrib; m_Stiffness = db.m_Stiffness; m_StiffnessDistrib = db.m_StiffnessDistrib; m_Inert = db.m_Inert; m_InertDistrib = db.m_InertDistrib; var type = db.GetType(); if (type.GetMethod("m_Friction") != null) { m_Friction = db.m_Friction; } if (type.GetMethod("m_FrictionDistrib") != null) { m_FrictionDistrib = db.m_FrictionDistrib; } m_Radius = db.m_Radius; m_RadiusDistrib = db.m_RadiusDistrib; m_EndLength = db.m_EndLength; m_EndOffset = db.m_EndOffset; m_Gravity = db.m_Gravity; m_Force = db.m_Force; m_Colliders.Clear(); foreach (var collider in db.m_Colliders) { if (collider == null) { continue; } var boneSettingsCollider = new KhodrinsDynamicBoneSettingsCollider(); if (collider.GetType().Name == "DynamicBonePlaneCollider") { boneSettingsCollider.getCollider((DynamicBoneCollider)collider, an); } else { boneSettingsCollider.getCollider((DynamicBoneCollider)collider, an); } if (boneSettingsCollider.bone.getTransform(an) != null) { m_Colliders.Add(boneSettingsCollider); } } m_Exclusions.Clear(); foreach (var exclusion in db.m_Exclusions) { if (exclusion == null) { continue; } var excl = new KhodrinsDynamicBoneSettingsTransform(exclusion, an); if (excl.getTransform(an) != null) { m_Exclusions.Add(excl); } } m_FreezeAxis = db.m_FreezeAxis; m_DistantDisable = db.m_DistantDisable; m_ReferenceObject = new KhodrinsDynamicBoneSettingsTransform(db.m_ReferenceObject, an); m_DistanceToObject = db.m_DistanceToObject; }