コード例 #1
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        var drop = collision.GetComponent <DroppedItem>();

        if (drop)
        {
            if (!photonView.IsMine)
            {
                Destroy(collision.gameObject);
            }
            else
            {
                if (drop.generatedItem != null)
                {
                    if (inventory.AddItem(drop.generatedItem, 1))
                    {
                        Destroy(collision.gameObject);
                    }
                }
                else
                {
                    if (inventory.AddItem(drop.Item.CreateItem(), 1))
                    {
                        Destroy(collision.gameObject);
                    }
                }
            }
        }
    }
コード例 #2
0
ファイル: InventoryManager.cs プロジェクト: cjh880118/2DTile
        private void AddItem(AddItemMsg msg)
        {
            var item = msg.item.GetComponent <ItemBase>();

            if (item)
            {
                Item _item = new Item(item.item);

                if (inventory.AddItem(_item, 1))
                {
                    if (item.item.type == Itemtype.HealPotion)
                    {
                        for (int i = 0; i < consume.GetSlots.Length; i++)
                        {
                            if (consume.GetSlots[i].item.Id == _item.Id)
                            {
                                consume.AddItem(_item, 1);
                                break;
                            }
                        }
                    }
                    Destroy(msg.item);
                }
            }
        }
コード例 #3
0
        private void OnTriggerEnter(Collider other)
        {
            var item = other.GetComponent <GroundItem>();

            if (item)
            {
                if (inventory.AddItem(new Item(item.itemObject), 1))
                {
                    Destroy(other.gameObject);
                }
            }
        }
コード例 #4
0
    private void OnControllerColliderHit(ControllerColliderHit hit)
    {
        var obj = hit.gameObject.GetComponent <Item>();

        if (obj)
        {
            if ((obj.item.Weight + inventory.weight) < inventory.inventoryweight || (obj.item.Weight + inventory.weight) == inventory.inventoryweight)
            {
                inventoryDisplay.PopupFunction(popup);
                inventoryfull.SetActive(false);
                if (Input.GetKeyDown(KeyCode.E))
                {
                    inventory.AddItem(obj.item, 1);
                    Destroy(obj.gameObject);
                }
            }
            else
            {
                inventoryfull.SetActive(true);
            }
        }
        else if (!obj)
        {
            inventoryDisplay.popclosefunction(popup);
            inventoryfull.SetActive(false);
        }
    }
コード例 #5
0
 private void Update()
 {
     if (closeObjectTransform != null)
     {
         // If collector is close enough then add the item to its inventory
         // Otherwise move closer to the object
         float distanceFromObject = Vector3.Distance(transform.position, closeObjectTransform.position);
         if (distanceFromObject < fromDistanceToAddToInventory)
         {
             // TODO: Test this one below if it works properly.
             // Check if the item was added and destroy the object if it was.
             bool thereIsEmptySlot = inventory.AddItem(new Item(item), 1);
             if (thereIsEmptySlot)
             {
                 Destroy(gameObject);
             }
         }
         else
         {
             float step = Mathf.Clamp(30 * Time.deltaTime - distanceFromObject / 50, 0, maxSpeed);
             if (step > 0)
             {
                 transform.position = Vector3.MoveTowards(transform.position, closeObjectTransform.position, step);
             }
         }
     }
 }
コード例 #6
0
    public void UnEquip(int slotIndex)
    {
        // if there is already something equiped, put it back in bag
        if (CurrentEquipment[slotIndex] != null)
        {
            EquipmentObject oldItem = CurrentEquipment[slotIndex];

            inventory.AddItem(oldItem, 1);

            CurrentEquipment[slotIndex] = null;

            // Update when unequip
            // remove stat
            oldItem.Unequip(PlayerManager.instance.Player);

            /*if (onEquipmentChangedUpdateStats != null)
             * {
             *  onEquipmentChangedUpdateStats.Invoke(null, oldItem);
             * }*/
            // update equipment UI
            if (onEquipmentChangedUpdateUI != null)
            {
                onEquipmentChangedUpdateUI.Invoke();
            }
        }
    }
コード例 #7
0
    public bool AddItem(ItemObject item, int amount)
    {
        bool executed = inventoryObject.AddItem(item, amount);

        UpdateInventoryUI();
        return(executed);
    }
コード例 #8
0
    public void ChopSuccess()
    {
        health -= 100;
        Item _item = new Item(item);

        Debug.Log(_item.Id);
        inventory.AddItem(_item, 1);
        PlayerController.instance.anim.SetBool("PlayerChop", false);
        //  anim.SetBool("IsShaken", false);

        if (health <= 0)
        {
            if (destroyable)
            {
                for (int i = 1; i <= spawnAmount; i++)
                {
                    //   Instantiate(spawn, new Vector3(i * 2.0F, 0, 0), Quaternion.identity);
                    GameObject go = Instantiate(spawn, transform.position, transform.rotation);
                    go.transform.position = new Vector3(go.transform.position.x + (i * 1.1f), go.transform.position.y - 1, go.transform.position.z);
                }
            }
            StartCoroutine(DestroyGatherable());
        }
        TileRenderer.instance.ChangeGatherable(Mathf.FloorToInt(this.transform.parent.position.x), Mathf.FloorToInt(this.transform.parent.position.y), 100);
    }
コード例 #9
0
 public void SetDefaultItems()
 {
     foreach (Item obj in defaultObjs)
     {
         inventory.AddItem(obj.item);
     }
 }
コード例 #10
0
ファイル: PlayerItems.cs プロジェクト: Miansamou/Anguysh
 public bool AddMemory(ItemObject item, string itemMessage)
 {
     localizedPopUp.SetNewKey(itemMessage);
     localizedPopUp.UpdateText();
     animPoPUp.SetTrigger("ShowBox");
     memories.AddItem(item);
     return(true);
 }
コード例 #11
0
 public void AddItem(ItemObject newItem)
 {
     if (inventory.AddItem(newItem))
     {
         uIManager.AddItem(newItem);
         onItemCollected.Invoke(newItem);
     }
 }
コード例 #12
0
 public void PopulateInventory()
 {
     inventoryObject.Clear();
     foreach (var item in itemObjects)
     {
         inventoryObject.AddItem(item.CreateItem(), 1);
     }
 }
コード例 #13
0
ファイル: Player.cs プロジェクト: Tsunehiko511/InventorySO
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.I))
        {
            inventoryUI.gameObject.SetActive(true);
            inventoryUI.Show();
        }

        if (Input.GetKeyDown(KeyCode.Space))
        {
            Item item = new Item(groundItem[0].item);
            inventory.AddItem(item, 2);
        }
        if (Input.GetKey(KeyCode.D))
        {
            if (Input.GetKeyDown(KeyCode.A))
            {
                Item item = new Item(groundItem[0].item);
                inventory.AddItem(item, 1);
            }
            if (Input.GetKeyDown(KeyCode.B))
            {
                Item item = new Item(groundItem[1].item);
                inventory.AddItem(item, 1);
            }
            if (Input.GetKeyDown(KeyCode.F))
            {
                Item item = new Item(groundItem[2].item);
                inventory.AddItem(item, 1);
            }
        }

        if (Input.GetKeyDown(KeyCode.S))
        {
            inventory.Save();
        }
        if (Input.GetKeyDown(KeyCode.L))
        {
            inventory.Load();
        }
        if (Input.GetKeyDown(KeyCode.C))
        {
            inventory.Clear();
        }
    }
コード例 #14
0
 private void UpdateChestData()
 {
     if (generated)
     {
         for (int i = 0; i < generatedItems.Count; i++)
         {
             chestData.AddItem(generatedItems[i], 1);
         }
         return;
     }
     for (int i = 0; i < itemsInChest.Length; i++)
     {
         Item item = new Item(itemsInChest[i]);
         chestData.AddItem(item, 1);
         generatedItems.Add(item);
     }
     generated = true;
 }
コード例 #15
0
    public void OnMouseDown()
    {
        x = Random.Range(1, 3);
        inv.AddItem(item.Baza[x]);



        Destroy(chest.gameObject);
    }
コード例 #16
0
 public void GoOut()
 {
     for (int i = 0; i < RunInventory.Container.Count; i++)
     {
         PlayerInvetnroy.AddItem(RunInventory.Container[i].item, RunInventory.Container[i].amount);
     }
     RunInventory.Container.Clear();
     SceneManager.LoadScene(0);
 }
コード例 #17
0
    public void OnButtonClick(Item item)
    {
        var _item = item;

        if (_item)
        {
            inventory.AddItem(new Item.ItemObject(item), 1);
        }
    }
コード例 #18
0
    /// <summary>
    /// When trigerred, we look for the Item Class attached to the gameobject, we than retrieve the scriptable object attached to it,
    /// add it to our inventory list and destroy the object we just collided with
    /// </summary>
    /// <param name="other"></param>
    public void OnTriggerEnter(Collider other)
    {
        GroundItem item = other.GetComponent <GroundItem>();

        if (item != null)
        {
            _inventory.AddItem(new Item(item._item), 1);
            Destroy(other.gameObject);
        }
    }
コード例 #19
0
    public void OnTriggerEnter(Collider other)
    {
        var item = other.GetComponent <ItemPickup>();

        if (item)
        {
            Inventory.AddItem(item.item, 1, icon);
            Destroy(other.gameObject);
        }
    }
コード例 #20
0
    public void OnTriggerEnter2D(Collider2D otherCollider)
    {
        var pickupItem = otherCollider.GetComponent <GroundItem>();

        if (pickupItem)
        {
            inventory.AddItem(new Item(pickupItem.item), 1);
            Destroy(otherCollider.gameObject);
        }
    }
コード例 #21
0
    private void OnTriggerEnter(Collider other)
    {
        var item = other.GetComponent <ItemScript>();

        if (item)
        {
            inventory.AddItem(item.item, 1);
            Destroy(other.gameObject);
        }
    }
コード例 #22
0
 private void PickUp()
 {
     if (item)
     {
         if (inventory.AddItem(item.item))
         {
             Destroy(item.gameObject);
         }
     }
 }
コード例 #23
0
    public void OnTriggerEnter(Collider otherObj)
    {
        Item item = otherObj.GetComponent <Item>();

        if (item)
        {
            inventory.AddItem(item.item);
            Destroy(otherObj.gameObject);
        }
    }
コード例 #24
0
ファイル: Player.cs プロジェクト: Xillious/RPG
    public void OnTriggerEnter2D(Collider2D other)
    {
        var item = other.GetComponent <Item>();

        if (item)
        {
            inventory.AddItem(item.item, 1);
            Destroy(other.gameObject);
        }
    }
コード例 #25
0
    public void OnTriggerEnter(Collider other)
    {
        var log = other.GetComponent <LogStats>();

        if (log)
        {
            inventory.AddItem(log.log, log.logValue);
            Destroy(other.gameObject);
        }
    }
コード例 #26
0
ファイル: PlayerManager.cs プロジェクト: zipoz89/witchery
    private void OnTriggerEnter2D(Collider2D collision)
    {
        var item = collision.GetComponent <GroundItem>();

        if (item)
        {
            mainInventory.AddItem(new Item(item.item), 1);
            Destroy(collision.gameObject);
        }
    }
コード例 #27
0
 private void AddOutput(Recipies recipie)
 {
     if (recipie.output0 != null)
     {
         inventoryOutput.AddItem(recipie.output0.createItem(), recipie.o0amount);
     }
     if (recipie.output1 != null)
     {
         inventoryOutput.AddItem(recipie.output1.createItem(), recipie.o1amount);
     }
     if (recipie.output2 != null)
     {
         inventoryOutput.AddItem(recipie.output2.createItem(), recipie.o2amount);
     }
     if (recipie.output3 != null)
     {
         inventoryOutput.AddItem(recipie.output3.createItem(), recipie.o3amount);
     }
     animator2.SetBool("isWorking", false);
 }
コード例 #28
0
ファイル: Player.cs プロジェクト: fetok12/Inventory-System
    public void OnTriggerEnter(Collider other)
    {
        var item = other.GetComponent <GroundItem>();

        if (item)
        {
            inventory.AddItem(item.item, 1);
            boneCombiner.AddLimb(item.item.characterDisplay);
            Destroy(other.gameObject);
        }
    }
コード例 #29
0
 public void Update()
 {
     if (isInRange && Input.GetKeyDown(KeyCode.F))
     {
         if (log != null)
         {
             inventory.AddItem(log, logValue);
             log = null;
         }
     }
 }
コード例 #30
0
ファイル: TestItems.cs プロジェクト: zoqxlstm7/RPG-Tutorial
    public void AddNewItem()
    {
        if (databaseObject.itemObjects.Length > 0)
        {
            ItemObject newItemObject = databaseObject.itemObjects[Random.Range(0, databaseObject.itemObjects.Length - 1)];
            //ItemObject newItemObject = databaseObject.itemObjects[databaseObject.itemObjects.Length - 1];
            Item newItem = new Item(newItemObject);

            inventoryObject.AddItem(newItem, 1);
        }
    }