Exemple #1
0
    public void UpdateParams(int weaponID, SpringCollider chest = null, SpringCollider waist = null)
    {
        enabled = !IsWeaponExcluded(weaponID);

        var param = GetWeaponParam(weaponID);

        if (param == null)
        {
            param = GetWeaponParam(0);
        }
        if (param == null)
        {
            return;
        }

        radius           = param.radius;
        stiffnessForce   = param.stiffnessForce;
        dragForce        = param.dragForce;
        threshold        = param.threshold;
        colliders        = param.colliders;
        hasChestCollider = param.hasChestCollider;
        hasWaistCollider = param.hasWaistCollider;

        m_chest = hasChestCollider ? chest : null;
        m_waist = hasWaistCollider ? waist : null;
    }
Exemple #2
0
    static void WriteSpringCollider(Component com)
    {
        WriteString("SpringCollider");

        SpringCollider collider = com as SpringCollider;

        bw.Write(collider.radius);
    }
Exemple #3
0
    private void Awake()
    {
        var pb = SearchParentNode(this);
        var n  = Util.FindChild(pb, COLLIDER_NAME_CHEST);

        if (n)
        {
            m_chest = n.GetComponent <SpringCollider>();
        }
        n = Util.FindChild(pb, COLLIDER_NAME_WAIST);
        if (n)
        {
            m_waist = n.GetComponent <SpringCollider>();
        }
    }
Exemple #4
0
    private void UpdateColliders(SpringCollider collider, ref Vector3 p)
    {
        if (!collider.o.activeSelf)
        {
            return;
        }

        var r    = collider.radius + radius;
        var cp   = collider.t.position;
        var dist = m_currTipPos - cp;

        if (dist.magnitude <= r)
        {
            m_currTipPos = cp + dist.normalized * r;
            m_currTipPos = (m_currTipPos - p).normalized * m_springLength + p;
        }
    }