private void OnTriggerStay(Collider other)
 {
     if (!isServer)
     {
         return;
     }
     if (other.CompareTag("Pickup"))
     {
         PickupGeneric pUp = other.GetComponent <PickupGeneric>();
         if (pUp.isHeld == true)
         {
             if (potentialPickups.Contains(other.transform))
             {
                 while (potentialPickups.Contains(other.transform))
                 {
                     potentialPickups.Remove(other.transform);
                 }
             }
         }
         else
         {
             if (!potentialPickups.Contains(other.transform))
             {
                 potentialPickups.Add(other.transform);
             }
         }
     }
 }
Example #2
0
    // INTERACTIONS

    void HandleInteractions()
    {
        bool onFire1ButtonDown = fire1ButtonDown && !prevFire1ButtonDown;
        bool onFire1ButtonUp   = !fire1ButtonDown && prevFire1ButtonDown;

        bool onFire2ButtonDown = fire2ButtonDown && !prevFire2ButtonDown;
        bool onFire2ButtonUp   = !fire2ButtonDown && prevFire2ButtonDown;

        if (onFire1ButtonDown)
        {
            if (heldPickup != null)
            {
                SetCollider(false);
                heldPickup.Interact();
                heldPickup = null;
            }
            else
            {
                iVolume.potentialInteracts.RemoveAll(item => item == null);
                if (iVolume.potentialInteracts.Count > 0)
                {
                    interactObj = iVolume.potentialInteracts[0].GetComponent <InteractGeneric>();
                    if (!interactObj.requiresCostume || interactObj.costume == JobTag)
                    {
                        interactObj.StartUse(transform);
                        iVolume.interactingObj = interactObj;
                    }
                }
            }
        }

        if (onFire2ButtonDown)
        {
            if (heldPickup != null)
            {
                SetCollider(false);
                heldPickup.Drop();
                heldPickup = null;
            }
            else
            {
                pVolume.potentialPickups.RemoveAll(item => item == null);
                if (pVolume.potentialPickups.Count > 0)
                {
                    heldPickup = pVolume.potentialPickups[0].GetComponent <PickupGeneric>();
                    if (!heldPickup.requiresCostume || heldPickup.costume == JobTag)
                    {
                        heldPickup.Hold(transform);
                        SetCollider(true);
                    }
                }
            }
        }


        prevFire1ButtonDown = fire1ButtonDown;
        prevFire2ButtonDown = fire2ButtonDown;
    }
Example #3
0
 private void OnTriggerEnter(Collider other)
 {
     foreach (ThrowEvent te in events)
     {
         PickupGeneric p = other.GetComponent <PickupGeneric>();
         if (p && p.pickupTag == te.thrownObjectPickupTag)
         {
             te.onThrowReceive.Invoke();
             other.GetComponent <TTSID>().Remove();
             return;
         }
     }
 }
 private void OnTriggerEnter(Collider other)
 {
     if (!isServer)
     {
         return;
     }
     if (other.CompareTag("Pickup"))
     {
         Debug.Log(other.name);
         PickupGeneric pUp = other.GetComponent <PickupGeneric>();
         if (pUp.isHeld == false)
         {
             potentialPickups.Add(other.transform);
         }
     }
 }