Ejemplo n.º 1
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;
    }
Ejemplo n.º 2
0
 private void OnTriggerEnter(Collider other)
 {
     if (!isServer)
     {
         return;
     }
     if (other.CompareTag("Interact"))
     {
         InteractGeneric inter = other.GetComponent <InteractGeneric>();
         if (inter != null && inter.inUse == false)
         {
             potentialInteracts.Add(other.transform);
         }
     }
 }
Ejemplo n.º 3
0
 private void OnTriggerStay(Collider other)
 {
     if (!isServer)
     {
         return;
     }
     if (other.CompareTag("Interact"))
     {
         InteractGeneric inter = other.GetComponent <InteractGeneric>();
         if (inter != null && inter.inUse == true)
         {
             if (potentialInteracts.Contains(other.transform))
             {
                 while (potentialInteracts.Contains(other.transform))
                 {
                     potentialInteracts.Remove(other.transform);
                 }
             }
         }
     }
 }