Наследование: MonoBehaviour
Пример #1
0
        private void ReassignDynamicBoneValues(JiggleBone lavJiggleBone, DynamicBone dynBone)
        {
            lavJiggleBone.Root            = dynBone.m_Root;
            lavJiggleBone.ConstrainAxis   = (ConstrainAxis)dynBone.m_FreezeAxis;
            lavJiggleBone.Damping         = dynBone.m_Damping;
            lavJiggleBone.DampingCurve    = dynBone.m_DampingDistrib;
            lavJiggleBone.Elasticity      = dynBone.m_Elasticity;
            lavJiggleBone.ElasticityCurve = dynBone.m_ElasticityDistrib;
            lavJiggleBone.Stiffness       = dynBone.m_Stiffness;
            lavJiggleBone.StiffnessCurve  = dynBone.m_StiffnessDistrib;
            lavJiggleBone.Inert           = dynBone.m_Inert;
            lavJiggleBone.InertCurve      = dynBone.m_InertDistrib;
            lavJiggleBone.Radius          = dynBone.m_Radius;
            lavJiggleBone.RadiusCurve     = dynBone.m_RadiusDistrib;
            lavJiggleBone.EndOffset       = dynBone.m_EndOffset;
            lavJiggleBone.Gravity         = dynBone.m_Gravity;
            lavJiggleBone.Force           = dynBone.m_Force;
            lavJiggleBone.Exclusions      = dynBone.m_Exclusions;

            List <JiggleCollider> lavColliders = new List <JiggleCollider>();

            foreach (DynamicBoneCollider dCol in dynBone.m_Colliders)
            {
                lavColliders.Add(dCol.gameObject.GetComponent <JiggleColliderSphere>());
            }

            lavJiggleBone.Colliders = lavColliders;
        }
Пример #2
0
        private void FindDynamicBone()
        {
            DynamicBone[] comps = gameObject.GetComponentsInChildren <DynamicBone>(true);

            if (comps.Length == 0)
            {
                Debug.Log("Targeted object tree doesn't have any DynamicBones!", gameObject);
            }

            foreach (DynamicBone component in comps)
            {
                if (component.gameObject.GetComponent <JiggleBone>())
                {
                    if (enforceOriginalValues)
                    {
                        Debug.Log("Copying DynamicBone values into " + component.gameObject.name, component.gameObject);

                        JiggleBone lavJiggleBone = component.gameObject.GetComponent <JiggleBone>();
                        this.ReassignDynamicBoneValues(lavJiggleBone, component);
                    }
                    else
                    {
                        Debug.Log(component.gameObject.name + " already has JiggleBone", component.gameObject);
                    }
                }
                else
                {
                    Debug.Log(component.gameObject.name + " doesn't have JiggleBone, targeting...", component.gameObject);

                    JiggleBone lavJiggleBone = component.gameObject.AddComponent(typeof(JiggleBone)) as JiggleBone;
                    this.ReassignDynamicBoneValues(lavJiggleBone, component);

                    switch (postReplacementAction)
                    {
                    case PostReplacementActions.Disable:
                        component.enabled = false;
                        break;

                    case PostReplacementActions.Remove:
                        DestroyImmediate(component);
                        break;
                    }
                }
            }
        }