Example #1
0
    void TestDistanceToPlayer()
    {
        float minDist = float.PositiveInfinity;
        Ray   ray     = new Ray(playerHead.position, playerHead.forward * radius * 2.0f);

        for (int i = 0; i < genericInteractables.Count; i++)
        {
            genericInteractables[i].highLightSystem.hightLight = false;
            if (genericInteractables[i].interactable == true)
            {
                Vector3 d2p = genericInteractables[i].transform.position - playerHead.position;
                float   d   = Vector3.Cross(ray.direction, d2p).sqrMagnitude *d2p.sqrMagnitude;
                if (d < minDist)
                {
                    minDist      = d;
                    grabableItem = genericInteractables[i];
                }
            }
        }

        if (grabableItem)
        {
            grabableItem.highLightSystem.hightLight = true;
        }
    }
Example #2
0
    void OnTriggerEnter(Collider c)
    {
        if (!colliders.Contains(c))
        {
            colliders.Add(c);

            GenericInteractable gi = c.GetComponentInParent <GenericInteractable>();
            if (gi && !genericInteractables.Contains(gi) && gi.interactable == true)
            {
                genericInteractables.Add(gi);
            }
        }
    }
Example #3
0
 public void RemoveFromLists(GenericInteractable gi)
 {
     if (colliders.Contains(gi.grabCollider))
     {
         colliders.Remove(gi.grabCollider);
     }
     if (genericInteractables.Contains(gi))
     {
         genericInteractables.Remove(gi);
     }
     if (grabableItem == gi)
     {
         grabableItem = null;
     }
 }
Example #4
0
    void OnTriggerExit(Collider c)
    {
        if (colliders.Contains(c))
        {
            colliders.Remove(c);

            GenericInteractable gi = c.GetComponentInParent <GenericInteractable>();

            if (gi && genericInteractables.Contains(gi))
            {
                gi.highLightSystem.hightLight = false;
                genericInteractables.Remove(gi);
                if (grabableItem == gi)
                {
                    grabableItem = null;
                }
            }
        }
    }
Example #5
0
 public void AddToList(GenericInteractable gi)
 {
     colliders.Add(gi.grabCollider);
     genericInteractables.Add(gi);
 }
Example #6
0
 void Awake()
 {
     buyGenericInteractable       = buyButton.GetComponent <GenericInteractable>();
     priceUpGenericInteractable   = priceUpButton.GetComponent <GenericInteractable>();
     priceDownGenericInteractable = priceDownButton.GetComponent <GenericInteractable>();
 }