示例#1
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        GrabableItem gi = collision.gameObject.GetComponent <GrabableItem>();

        if (gi != null)
        {
            controller.OnHitGrabbable(gi);
        }
    }
    public void OnHitGrabbable(GrabableItem to_grab)
    {
        if (shooting)
        {
            grabbed_item = to_grab;

            Recover();
        }
    }
示例#3
0
    public void AddNewItem(GrabableItem newItem, int placement) // Adds items to the list
    {
        items[placement] = newItem;

        Texture2D temp = new Texture2D((int)items[placement].objectTexture.textureRect.width, (int)items[placement].objectTexture.textureRect.height);

        Color[] pixels = items[placement].objectTexture.texture.GetPixels((int)items[placement].objectTexture.textureRect.x, (int)items[placement].objectTexture.textureRect.y, (int)items[placement].objectTexture.textureRect.width, (int)items[placement].objectTexture.textureRect.height);
        temp.SetPixels(pixels);
        temp.Apply();
        objectTextures[placement] = temp;
        temp = null;
    }
 /// <summary>
 /// Triggers an interaction in the interaction radius.
 /// </summary>
 public void interact()
 {
     // check for every object in interactable radius
     Collider[] interactable = Physics.OverlapSphere(this.interactPosition, interactRadius);
     foreach (Collider t in interactable)
     {
         // usable item  ??
         if (t.transform.tag == Common.usableTag)
         {
             // TODO == check for usable items
         }
         // Grabable Items
         if (t.transform.tag == Common.grabableTag)
         {
             GrabableItem i = t.GetComponent <GrabableItem>();
             // found an item!
             if (i != null && i.isGrabable())
             {
                 // if already has a item, swap
                 if (this.hasGrabbedItem())
                 {
                     this.grabbedItem.drop(this.interactPosition + Common.dropPosition);
                     i.grab(this.transform);
                     this.grabbedItem = i;
                     return;
                 }
                 //if not, grab
                 else
                 {
                     i.grab(this.transform);
                     this.grabbedItem = i;
                     return;
                 }
             }
         }
     }
     // if no item is foun, drop the items
     if (this.hasGrabbedItem())
     {
         this.grabbedItem.drop(this.getThrowVector());
         this.grabbedItem = null;
     }
 }
 public override void Init()
 {
     base.Init();
     grabableItem = null;
 }