Esempio n. 1
0
    //add attractable objects to the list
    void EnterCollider(Collider collider)
    {
        var attractable = collider.GetComponentInParent <AttractableObject>();

        if (attractable == null)
        {
            return;
        }

        //if (canAttractMultipleObjects)
        //{
        if (attractingObjects.Contains(attractable))
        {
            return;
        }

        attractingObjects.Add(attractable);
        //}
        //else
        //{
        if (target == null)
        {
            target = attractable;
        }
        //}
    }
Esempio n. 2
0
    void UpdateAttractingList()
    {
        //if (canAttractMultipleObjects)
        attractingObjects = attractingObjects.Where(x => x != null).ToList();

        if (!canAttractMultipleObjects)
        {
            float min = float.MaxValue;
            foreach (var item in attractingObjects)
            {
                var d = Vector3.Distance(item.transform.position, transform.position);
                if (d < min)
                {
                    target = item;
                    min    = d;
                }
            }

            if (min == float.MaxValue)
            {
                target = null;
            }
        }
    }