Exemplo n.º 1
0
    void OnTriggerStay(Collider other)
    {
        MovingObject movingObject = other.GetComponent <MovingObject>();

        if (movingObject != null)
        {
            Vector3 offset             = transform.position - other.transform.position;
            Vector3 suckDir            = Vector3.ProjectOnPlane(offset, Vector3.up).normalized;
            float   triggerSize        = triggerCollider.radius * triggerCollider.transform.lossyScale.x;
            float   distanceMutliplier = distanceMultiplierCurve.Evaluate(offset.sqrMagnitude / (triggerSize * triggerSize));

            movingObject.BeingSucked(suckDir * suckStrength * distanceMutliplier * Time.fixedDeltaTime);
        }
    }