Exemplo n.º 1
0
    public void AddItem(IInventoryItem item)
    {
        if (currentNumberOfItems < SLOTS)
        {
            Collider collider = (item as MonoBehaviour).GetComponent <Collider>();
            if (collider.enabled)
            {
                collider.enabled = false;
                for (int i = 0; i < mItems.Length; i++)
                {
                    if (mItems[i] == null)
                    {
                        mItems[i] = item;
                        break;
                    }
                }
                currentNumberOfItems++;
                item.OnPickup(owner);

                if (ItemAdded != null)
                {
                    ItemAdded(this, new InventoryEventArgs(item));
                }
            }
        }
    }
Exemplo n.º 2
0
/* works
 * public void SetParent(GameObject cup)
 * {
 *
 *
 *      cup.transform.parent = cup.transform;
 *       if (cup.transform.parent != null )
 *      {
 *          //Display the name of the grand parent of the player.
 *          Debug.Log("Player's Grand parent: " + cup.transform.parent.parent.name);
 *      }
 * }
 */

/*
 *
 * if(mItems.Count == 1)
 *      {
 *          Debug.Log("count = 1");
 *          if (GameObject.FindGameObjectsWithTag("sledgeHammer")
 *          {
 *          Debug.Log("sledgehammer = 2");
 *          Destroy(GameObject.Find("sledgeHammer"));
 *          Debug.Log("Destroy sledgehammer");
 *         }
 *      }
 *
 *
 *
 *       if(GameObject.FindGameObjectsWithTag("sledgeHammer").Length > 1)
 *      {
 *          Debug.Log(">1");
 *
 */

    public void AddItem(IInventoryItem item)
    {
        if (mItems.Count < SLOTS)
        {
            Collider collider = (item as MonoBehaviour).GetComponent <Collider>();
            if (collider.enabled)
            {
                collider.enabled = false;

                mItems.Add(item);
                item.OnPickup();

                ItemAdded?.Invoke(this, new InventoryEventArgs(item));
            }



            else if (mItems.Count == SLOTS)
            {
                Debug.Log("slots full");

                gotKey2 = true;
                //Debug.Log (gotKey2);
            }
        }
    }
Exemplo n.º 3
0
    public void AddItem(IInventoryItem item)
    {
        if (hasItem(item.Name))
        {
            return;
        }

        if (mItems.Count < SLOTS)
        {
            Player player = GameObject.Find("Player").GetComponent <Player>();
            player.ApplyPowerUp(item.Name);
            mItems.Add(item);
            if (hasBrokenItem(item))
            {
                brokenItems.Remove(item);
            }
            if (!item.Equals(null))
            {
                item.OnPickup();
            }

            if (ItemAdded != null)
            {
                ItemAdded(this, new InventoryEventArgs(item));
            }
        }
    }
Exemplo n.º 4
0
 public void CollectedQuestItem(IInventoryItem item)
 {
     if (quest.CollectedItem(item))
     {
         item.OnPickup();
     }
 }
    public void AddItem(IInventoryItem item)
    {
        if (mItems.Count < slots)
        {
            Collider collider = (item as MonoBehaviour).GetComponent <Collider>();

            if (collider.enabled)
            {
                collider.enabled = false;


                mItems.Add(item);
                print(mItems[mItems.Count - 1].Name);
                print(item.Name);
                item.OnPickup();

                //print("item added");

                if (ItemAdded != null)
                {
                    //print("Item added 1= null");
                    ItemAdded(this, new InventoryEventArgs(item));
                }
            }
        }
    }
Exemplo n.º 6
0
 public void AddItem(IInventoryItem item)
 {
     if (mItems.Count < SLOTS)
     {
         // mItems.Add(item);
         mItems.Add(item.name);
         item.OnPickup();
     }
 }
Exemplo n.º 7
0
 //called when an item is picked up
 void PickupMessage()
 {
     if (mItemToPickup != null)
     {
         inventory.AddItem(mItemToPickup); //add item to player's inventory
         mItemToPickup.OnPickup();         //call item's OnPickup() method
         hud.ClosePickupMessagePanel();    //close the message panel
     }
 }
Exemplo n.º 8
0
    void OnCollisionEnter(Collision collision)
    {
        IInventoryItem item = collision.collider.GetComponent <IInventoryItem>();

        if (item != null)
        {
            item.OnPickup();
            inventory.AddItem(item.GetItemData);
        }
    }
Exemplo n.º 9
0
 public void AddItem(IInventoryItem item)
 {
     //on take/object
     mItems.Add(item);
     item.OnPickup();
     if (ItemAdded != null)
     {
         ItemAdded(this, new InventoryEventArgs(item));
     }
 }
Exemplo n.º 10
0
    void OnTriggerEnter(Collider hit)
    {
        IInventoryItem item = hit.GetComponent <Collider>().GetComponent <IInventoryItem>();

        if (item != null)
        {
            inventory.AddItem(item);
            item.OnPickup();
            Cnum += 1;
        }
    }
Exemplo n.º 11
0
 public static void Additem(IInventoryItem item)
 {
     if (mItems.Count < SLOTS)
     {
         Collider collider = (item as MonoBehaviour).GetComponent <Collider> ();
         if (collider.enabled)
         {
             collider.enabled = false;
             mItems.Add(item);
             item.OnPickup();
         }
     }
 }
Exemplo n.º 12
0
    public void AddItem(IInventoryItem item)
    {
        if (_items.Count < SLOTS)
        {
            Collider2D col = (item as MonoBehaviour)?.GetComponent <Collider2D>();

            if (col != null && col.enabled)
            {
                col.enabled = false;
                _items.Add(item);
                item.OnPickup();
                ItemAdded?.Invoke(this, new InventoryEventArgs(item));
            }
        }
    }
Exemplo n.º 13
0
    public void AddItem(IInventoryItem item)
    {
        if (mItems.Count < slots)
        {
            Collider col = (item as MonoBehaviour).GetComponent <Collider>();
            if (col.enabled)
            {
                col.enabled = false;
                mItems.Add(item.Name);

                item.OnPickup();

                ItemAdded?.Invoke(this, new InventoryEventArgs(item));
            }
        }
    }
Exemplo n.º 14
0
    private void OnControllerColliderHit(ControllerColliderHit hit)
    {
        IInventoryItem item = hit.collider.GetComponent <IInventoryItem>();

        if (item != null)
        {
            inventory.AddItem(item);
            item.OnPickup();
        }
        if (hit.gameObject.tag == "KEY")
        {
            print("GET KEY!!");
            UI.count += 1;
            key();
            hit.gameObject.SetActive(false);
        }
    }
Exemplo n.º 15
0
    public void AddItem(IInventoryItem item)
    {
        if (mItems.Count < SLOTS)
        {
            Collider collider = (item as MonoBehaviour).GetComponent <Collider>();
            if (collider.enabled)
            {
                collider.enabled = false;
                mItems.Add(item);
                item.OnPickup();

                if (ItemAdded != null)
                {
                    ItemAdded(this, new InventoryEventArgs(item));
                }
            }
        }
    }
Exemplo n.º 16
0
    public void AddItem(IInventoryItem item)
    {
        if (menuItems.Count < slots)
        {
            //Adds item when the player collides with them
            Collider collider = (item as MonoBehaviour).GetComponent <Collider>();
            if (collider.enabled)
            {
                collider.enabled = false;
                menuItems.Add(item);
                item.OnPickup();

                if (ItemAdded != null)
                {
                    ItemAdded(this, new InventoryEventArgs(item));
                }
            }
        }
    }
Exemplo n.º 17
0
    public void AddItem(IInventoryItem item)
    {
        InventorySlot freeSlot = FindStackableSlot(item);

        if (freeSlot == null)
        {
            freeSlot = FindNextEmptySlot();
        }
        if (freeSlot != null)
        {
            freeSlot.AddItem(item);
            item.OnPickup();

            if (ItemAdded != null)
            {
                ItemAdded(this, new InventoryEventArgs(item));
            }
        }
    }
Exemplo n.º 18
0
    public void AddItem(IInventoryItem item)                                       // Quando si aggiunge un elemento
    {
        if (mItems.Count < Slots)                                                  // Se hai ancora spazio
        {
            Collider collider = (item as MonoBehaviour).GetComponent <Collider>(); // Prendi il collider
            if (collider.enabled)
            {
                collider.enabled = false; // Spegnilo

                mItems.Add(item);         // Aggiungi l'oggetto alla lista

                item.OnPickup();

                if (ItemAdded != null)
                {
                    ItemAdded(this, new InventoryEventArg(item));
                }
            }
        }
    }
Exemplo n.º 19
0
    public void AddItem(IInventoryItem item)
    {
        if (mItems.Count < slots)
        {
            Collider collider = (item as MonoBehaviour).GetComponent <Collider>();

            if (collider.enabled)
            {
                collider.enabled = false;
                mItems.Add(item);
                item.OnPickup();
                source.PlayOneShot(takeObjectFX);

                if (ItemAdded != null)
                {
                    ItemAdded(this, new InventoryEventArgs(item));
                }
            }
        }
    }
Exemplo n.º 20
0
    public void SwapItem(IInventoryItem item)
    {
        mItems.Remove(item);
        item.OnSwap();

        CircleCollider2D collider = (item as MonoBehaviour).GetComponent <CircleCollider2D>();

        if (collider != null)
        {
            //collider.enabled = false;
            mItems.Clear();
            mItems.Add(item);
            item.OnPickup();
            if (ItemAdded != null)
            {
                ItemSwapped(this, new InventoryEventArgs(item));
                ItemAdded(this, new InventoryEventArgs(item));
            }
        }
    }
Exemplo n.º 21
0
 public void AddItem(IInventoryItem item)
 {
     // Debug.Log(inventoryList);
     // Debug.Log(inventoryList.Count);
     if (inventoryList.Count < MAXITEMS)
     {
         Collider2D collider = (item as MonoBehaviour).GetComponent <Collider2D>();
         if (collider.enabled)
         {
             collider.enabled = false;
             inventoryList.Add(item);
             // Debug.Log("[Inventory] Add Item");
             item.OnPickup();
             // Tell Hud to add the item
             if (ItemAdded != null)
             {
                 ItemAdded(this, new InventoryEventArgs(item));
             }
         }
     }
 }
Exemplo n.º 22
0
    public void AddItem(IInventoryItem item)
    {
        if (mItems.Count <= mSLOT)
        {
            CircleCollider2D collider = (item as MonoBehaviour).GetComponent <CircleCollider2D>();
            if (collider.enabled)
            {
                collider.enabled = false;
                mItems.Add(item);
                item.OnPickup();

                if (ItemAdded != null)
                {
                    ItemAdded(this, new InventoryEventArgs(item));
                }
                //if(ItemSwapped != null)
                //{
                //    ItemAdded(this, new InventoryEventArgs(item));
                //}
            }
        }
    }
Exemplo n.º 23
0
    public void AddItem(IInventoryItem item)
    {
        if (mItems.Count < SLOTS)
        {
            foreach (IInventoryItem itemArray in mItems)
            {
                if (itemArray.nameItem.Equals(item.nameItem))
                {
                    return;
                }
            }

            mItems.Add(item);

            item.OnPickup();

            if (ItemAdded != null)
            {
                ItemAdded(this, new InventoryEventArgs(item));
            }
        }
    }
Exemplo n.º 24
0
    /// <summary>
    /// Checks if the inventory isn't full. In that case, add the item to the inventory and do the OnPickUp action of the added item.
    /// </summary>
    /// <param name="item">Item to add</param>
    public bool AddItem(IInventoryItem item, int selectedSlot, Transform handTransform)
    {
        bool itemAddedCorrectly = false;

        if (itemsOnInventory[selectedSlot] == null)
        {
            Collider collider = (item as MonoBehaviour).GetComponent <Collider>();

            if (collider.enabled)
            {
                itemsOnInventory[selectedSlot] = item;
                item.OnPickup(handTransform);
                itemAddedCorrectly = true;
            }
        }
        else
        {
            Debug.Log("There is an item on that slot");
        }

        return(itemAddedCorrectly);
    }
Exemplo n.º 25
0
    public void AddItem(IInventoryItem item) //funckja dodaje obiekt z interface
    {
        if (mItems.Count < SLOTS)            // jezeli w tymczasowym inventory jest wystarczajaca ilosc miejsca (tzn mItems to sa te w inventory), wtedy dodajemy item
        {
            // Debug.Log("there are available slots. sSlots taken: " + mItems.Count);
            item.counter = 1;
            Collider collider = (item as MonoBehaviour).GetComponent <Collider>();
            if (collider.enabled)
            {
                //  Debug.Log("collider enabled, disabling it");
                collider.enabled = false;

                mItems.Add(item);      //dodano do listy inventory

                item.OnPickup();       // w zaleznosci jaką funkcje OnPickup ma konkretny item

                if (ItemAdded != null) //event
                {
                    ItemAdded(this, new InventoryEventArgs(item));
                }
            }
        }
    }
Exemplo n.º 26
0
    public void AddItem(IInventoryItem item)
    {
        if (mItems.Count < SLOTS)
        {
            Collider2D collider = (item as MonoBehaviour).GetComponent <Collider2D>();
            if (collider.enabled)
            {
                collider.enabled = false;

                mItems.Add(item);

                item.OnPickup();

                GameObject temp = Instantiate(PrefabImage, new Vector3(CurrentLocation.x + PrefabImage.transform.localScale.x, CurrentLocation.y, CurrentLocation.z), Quaternion.identity);
                temp.transform.SetParent(InventoryUI.transform);
                temp.GetComponent <Image>().sprite = item.Image;

                if (ItemAdded != null)
                {
                    ItemAdded(this, new InventoryEventArgs(item));
                }
            }
        }
    }
Exemplo n.º 27
0
    void Update()
    {
        float h = Input.GetAxis("Horizontal");
        float v = Input.GetAxis("Vertical");

        //Limit to forward movement
        if (v < 0)
        {
            v = 0;
        }

        transform.Rotate(0, h * RotationSpeed * Time.deltaTime, 0);

        if (_characterController.isGrounded)
        {
            bool move = (v > 0 || h != 0);

            _animator.SetBool("IsWalk", move);

            _moveDir = Vector3.forward * v;

            _moveDir = transform.TransformDirection(_moveDir);

            _moveDir *= speed;
        }

        _moveDir.y -= Gravity * Time.deltaTime;

        _characterController.Move(_moveDir * Time.deltaTime);

        if (mItemToPickup != null && Input.GetKeyDown(KeyCode.V))
        {
            inventory.AddItem(mItemToPickup);
            mItemToPickup.OnPickup();
        }
    }
Exemplo n.º 28
0
    // Start is called before the first frame update
    void OnTriggerStay(Collider other)
    {
        if (other.tag == "Elmo")
        {
            hub.OpenMessagePanel("Press F to talk");

            if (Input.GetKeyDown(KeyCode.F))
            {
                hub.CloseMessagePanel();
                elmoDialogue.SetActive(true);
                count += 1;
            }
        }

        if (other.tag == "Karen1")
        {
            hub.OpenMessagePanel("Press F to talk");

            if (Input.GetKeyDown(KeyCode.F))
            {
                hub.CloseMessagePanel();
                karenSpeech.SetActive(true);
                count += 1;
            }
        }

        if (other.tag == "Karen2")
        {
            hub.OpenMessagePanel("Press F to talk");

            if (Input.GetKeyDown(KeyCode.F))
            {
                notes.AddTextKaren(0);
                hub.CloseMessagePanel();
                karenSpeech.SetActive(true);
                karenDialogue.zen = true;
            }
        }



        if (other.tag == "Zen1")
        {
            hub.OpenMessagePanel("Press F to talk");

            if (Input.GetKeyDown(KeyCode.F))
            {
                hub.CloseMessagePanel();
                zenSpeech.SetActive(true);
                count += 1;
            }
        }

        if (other.tag == "Zen2")
        {
            hub.OpenMessagePanel("Press F to talk");

            if (Input.GetKeyDown(KeyCode.F))
            {
                notes.AddTextZen(0);
                hub.CloseMessagePanel();
                zenSpeech.SetActive(true);
                zenDialogue.zen = true;
                interview       = true;
            }
        }

        if (other.tag == "Pablo1")
        {
            hub.OpenMessagePanel("Press F to talk");

            if (Input.GetKeyDown(KeyCode.F))
            {
                hub.CloseMessagePanel();
                pabloSpeech.SetActive(true);
                count += 1;
            }
        }

        if (other.tag == "Pablo2")
        {
            hub.OpenMessagePanel("Press F to talk");

            if (Input.GetKeyDown(KeyCode.F))
            {
                notes.AddTextPablo(0);
                notes.AddTextPablo(2);
                notes.AddTextPablo(3);
                hub.CloseMessagePanel();
                pabloSpeech.SetActive(true);
                pabloDialogue.zen = true;
                notes.AddTextLock(3);
            }
        }


        if (other.tag == "FootPrints")
        {
            hub.OpenMessagePanel("Examine Clue");

            if (Input.GetKeyDown(KeyCode.F))
            {
                notes.AddTextKaren(1);
                notes.AddTextKaren(2);
                notes.AddTextKaren(3);
                hub.CloseMessagePanel();
                innerMonologue.clues = true;
                inspectSteps         = true;

                foreach (GameObject clueprint in cluesList)
                {
                    clueprint.GetComponent <BoxCollider>().enabled = false;
                }
            }
        }

        IInventoryItem item = other.GetComponent <IInventoryItem>();

        IInventoryItem currentItem = null;


        if (item != null && other.tag == "Door")
        {
            hub.OpenMessagePanel("Press F to open door");

            if (Input.GetKeyDown(KeyCode.F))
            {
                item.OnUse();
                other.GetComponent <BoxCollider>().enabled = false;
                hub.CloseMessagePanel();
            }
        }

        if (item != null && other.tag == "LivingRoomDoor")
        {
            if (count >= 4)
            {
                hub.OpenMessagePanel("Press f to open");

                if (Input.GetKeyDown(KeyCode.F))
                {
                    item.OnUse();
                    other.GetComponent <BoxCollider>().enabled = false;
                    hub.CloseMessagePanel();
                }
            }

            else
            {
                hub.OpenMessagePanel("Speak to your friends first!!");
            }
        }


        if (item != null && other.tag == "ZamazonKit")
        {
            hub.OpenMessagePanel("Press F to obtain Zamazon Kit!!");

            trigger.GetComponent <BoxCollider>().enabled = true;
            doorClosed = true;

            if (Input.GetKeyDown(KeyCode.F))
            {
                notes.AddTextLock(0);
                hub.CloseMessagePanel();
                vc.ToggleKit(false);
                vc.InventoryIsActive = true;
                Destroy(other.gameObject);
                investigationStartTrigger.SetActive(true);
                GameObject.FindWithTag("Zen1").tag   = "Zen2";
                GameObject.FindWithTag("Pablo1").tag = "Pablo2";
                GameObject.FindWithTag("Karen1").tag = "Karen2";
                ElmoMonologueTrigger.SetActive(true);
                innerMonologue.zen = true;
                Destroy(ElmoAlive);
                Destroy(Karen);
                Instantiate(Elmo);
                Instantiate(KarenAfterDeath);
            }
        }

        if (vc.InventoryIsActive == true)
        {
            book = GameObject.Find("ZenDiaryFake");

            if (item != null && other.gameObject == book)
            {
                hub.OpenMessagePanel("Press F to pick up");

                if (Input.GetKeyDown(KeyCode.F))
                {
                    notes.AddTextZen(1);

                    innerMonologue.GoToZenRoom = true;


                    inventory.AddItem(item);
                    item.OnPickup();
                }
            }
            ///////////////////////////////////

            if (item != null && other.tag == "RealDiary")
            {
                hub.OpenMessagePanel("Press F to pick up");

                if (Input.GetKeyDown(KeyCode.F))
                {
                    innerMonologue.Suspects = true;

                    notes.AddTextZen(3);

                    inventory.AddItem(item);
                    item.OnUse();
                }
            }

            if (item != null && other.tag == "Pickable")
            {
                hub.OpenMessagePanel("Press F to pick up");

                if (Input.GetKeyDown(KeyCode.F))
                {
                    inventory.AddItem(item);
                    item.OnPickup();
                }
            }

            if (item != null && other.tag == "Touchable")
            {
                hub.OpenMessagePanel("Press f to use");
                if (Input.GetKeyDown(KeyCode.F))
                {
                    item.OnUse();
                }
            }

            if (item != null && other.tag == "Clues")
            {
                hub.OpenMessagePanel("Press f to inspect clue");
                if (Input.GetKeyDown(KeyCode.F))
                {
                    item.OnUse();
                }
            }

            if (item != null && other.tag == "Exit" && vc.InventoryIsActive)
            {
                hub.OpenMessagePanel("Press F to open door");

                if (Input.GetKeyDown(KeyCode.F))
                {
                    innerMonologue.storage = true;
                    inspectDoor            = true;
                }
            }

            if (item != null && other.tag == "PictureClues")
            {
                hub.OpenMessagePanel("Press F to pick up");

                if (Input.GetKeyDown(KeyCode.F))
                {
                    notes.AddTextLock(1);
                    inventory.AddItem(item);
                    item.OnPickup();

                    GameObject iitem = GameObject.Find(item.Name);
                    iitem.GetComponent <SpriteRenderer>().enabled = true;

                    Destroy(other);

                    hub.OpenMessagePanel("");
                }
            }

            if (inspectDoor && inspectSteps && getPoison && interview)
            {
                notes.AddTextPablo(1);
                notes.AddTextLock(2);
                DoorLivingRoom.GetComponent <Animator>().SetBool("DoorOpen", true);
                doorOpen = true;
                Book.SetActive(true);
                ZenRoomTrigger.SetActive(true);

                GameObject.FindWithTag("Karen2")
                .GetComponent <Animator>().SetBool("Disappear", true);
            }
        }
    }
Exemplo n.º 29
0
 public void AddItem(IInventoryItem item)
 {
     weaponUsed = item;
     item.OnPickup();
     itemAdded?.Invoke(this, new InventoryEventArgs(item));
 }