Ejemplo n.º 1
0
        protected virtual void OnItemRemoved(Object p_sender, EventArgs p_args)
        {
            InventoryItemEventArgs inventoryItemEventArgs = (InventoryItemEventArgs)p_args;

            if (inventoryItemEventArgs.Slot.Inventory == m_inventory.GetEventSource() && inventoryItemEventArgs.Slot.Slot < m_itemSlots.Length)
            {
                m_itemSlots[inventoryItemEventArgs.Slot.Slot].SetItem(m_inventory.GetItemAt(inventoryItemEventArgs.Slot.Slot));
            }
        }
Ejemplo n.º 2
0
    //Using the events syetem
    private void Inventory_ItemRemoved(object sender, InventoryItemEventArgs e)
    {
        InventoryItemBase item = e.Item;

        GameObject goItem = (item as MonoBehaviour).gameObject;

        goItem.SetActive(true);
        goItem.transform.parent = null;
    }
Ejemplo n.º 3
0
        protected virtual void OnItemAdded(Object p_sender, EventArgs p_args)
        {
            InventoryItemEventArgs inventoryItemEventArgs = (InventoryItemEventArgs)p_args;

            if (inventoryItemEventArgs.Slot.Inventory == m_inventory.GetEventSource())
            {
                Int32 slot = inventoryItemEventArgs.Slot.Slot;
                if (slot < m_itemSlots.Length)
                {
                    BaseItem itemAt = m_inventory.GetItemAt(slot);
                    AddItem(slot, itemAt);
                }
            }
        }
        private void OnItemChanged(Object p_sender, EventArgs p_args)
        {
            InventoryItemEventArgs inventoryItemEventArgs = p_args as InventoryItemEventArgs;

            if (inventoryItemEventArgs != null && inventoryItemEventArgs.Slot.Inventory == m_inventory.GetEventSource())
            {
                Int32 slot = inventoryItemEventArgs.Slot.Slot;
                if (slot < m_itemSlots.Length)
                {
                    BaseItem itemAt = m_inventory.GetItemAt(slot);
                    m_itemSlots[slot].SetItem(itemAt);
                }
            }
        }
Ejemplo n.º 5
0
    private void Inventory_ItemRemoved(object sender, InventoryItemEventArgs e)
    {
        Transform inventoryPanel = transform.Find("InventPanelButtons/InventoryPanel");

        int index = -1;

        foreach (Transform slot in inventoryPanel)
        {
            index++;

            Transform imageTransform = slot.GetChild(0).GetChild(0);
            Transform textTransform  = slot.GetChild(0).GetChild(1);

            Image image    = imageTransform.GetComponent <Image>();
            Text  txtCount = textTransform.GetComponent <Text>();

            ItemDragHandler itemDragHandler = imageTransform.GetComponent <ItemDragHandler>();

            // We found the item in the UI
            if (itemDragHandler.Item == null)
            {
                continue;
            }

            // Found the slot to remove from
            if (e.Item.Slot.Id == index)
            {
                int itemCount = e.Item.Slot.Count;
                itemDragHandler.Item = e.Item.Slot.FirstItem;

                if (itemCount < 2)
                {
                    txtCount.text = "";
                }
                else
                {
                    txtCount.text = itemCount.ToString();
                }

                if (itemCount == 0)
                {
                    image.enabled = false;
                    image.sprite  = null;
                }
                break;
            }
        }
    }
Ejemplo n.º 6
0
    private void Inventory_ItemUsed(object sender, InventoryItemEventArgs e)
    {
        if (e.Item.ItemType != EItemType.Consumable)//If the item is not consumable
        {
            // If the player carries an item, un-use it (remove from player's hand)
            if (_InventoryItemBase != null)
            {
                WeildItem(_InventoryItemBase, false);
            }

            InventoryItemBase item = e.Item;

            // Use item (put it to hand of the player)
            WeildItem(item, true);

            _InventoryItemBase = e.Item;
        }
    }
Ejemplo n.º 7
0
 // Methods used for Inventory
 private void ItemAdded(object sender, InventoryItemEventArgs e)
 {
     foreach (Transform slot in _inventoryPanel.transform)
     {
         InventorySlot inventorySlot = slot.GetChild(0).GetComponent <InventorySlot>();
         if (!inventorySlot._filled)
         {
             inventorySlot._filled      = true;
             inventorySlot._name        = e.Item.Name;
             inventorySlot._description = e.Item.Description;
             Image image = slot.GetChild(0).GetChild(0).GetComponent <Image>();
             image.enabled = true;
             image.sprite  = e.Item.Image;
             ShowDescription(inventorySlot);
             break;
         }
     }
 }
        public void ConsumeSuccess(Int32 p_slot)
        {
            BaseItem itemAt = GetItemAt(p_slot);

            if (itemAt is Consumable)
            {
                Consumable consumable = (Consumable)itemAt;
                consumable.Counter--;
                InventoryItemEventArgs p_eventArgs = new InventoryItemEventArgs(new InventorySlotRef(m_inventory, p_slot));
                LegacyLogic.Instance.EventManager.InvokeEvent(this, EEventType.INVENTORY_ITEM_CHANGED, p_eventArgs);
                if (consumable.Counter <= 0)
                {
                    RemoveItemAt(p_slot);
                }
                else
                {
                    InventoryItemEventArgs p_eventArgs2 = new InventoryItemEventArgs(new InventorySlotRef(m_inventory, p_slot));
                    LegacyLogic.Instance.EventManager.InvokeEvent(this, EEventType.INVENTORY_ITEM_REMOVED, p_eventArgs2);
                }
            }
        }
Ejemplo n.º 9
0
    private void InventoryScript_ItemAdded(object sender, InventoryItemEventArgs e)
    {
        Transform inventoryPanel = transform.Find("InventPanelButtons/InventoryPanel");
        int       index          = -1;

        foreach (Transform slot in inventoryPanel)
        {
            index++;

            // Border... Image
            Transform       imageTransform  = slot.GetChild(0).GetChild(0);
            Transform       textTransform   = slot.GetChild(0).GetChild(1);
            Image           image           = imageTransform.GetComponent <Image>();
            Text            txtCount        = textTransform.GetComponent <Text>();
            ItemDragHandler itemDragHandler = imageTransform.GetComponent <ItemDragHandler>();

            if (index == e.Item.Slot.Id)
            {
                image.enabled = true;
                image.sprite  = e.Item.Image;

                int itemCount = e.Item.Slot.Count;
                if (itemCount > 1)
                {
                    txtCount.text = itemCount.ToString();
                }
                else
                {
                    txtCount.text = "";
                }


                // Store a reference to the item
                itemDragHandler.Item = e.Item;

                break;
            }
        }
    }
Ejemplo n.º 10
0
        public void OnSingleItemButtonClicked(GameObject p_sender)
        {
            if (m_itemContainer.SelectedItem != null)
            {
                ((ItemSlotIdentify)m_itemContainer.SelectedItem).PlayFX(m_itemContainer.Mode);
                BaseItem item = m_itemContainer.SelectedItem.Item;
                PartyInventoryController partyInventoryController = LegacyLogic.Instance.WorldManager.Party.Inventory;
                Int32 slotIndexForItem = partyInventoryController.GetSlotIndexForItem(item);
                if (slotIndexForItem == -1)
                {
                    partyInventoryController = (PartyInventoryController)LegacyLogic.Instance.WorldManager.Party.GetOtherInventory(partyInventoryController);
                    slotIndexForItem         = partyInventoryController.GetSlotIndexForItem(item);
                }
                Equipment equipment = (Equipment)item;
                if (m_identifyInventory != null)
                {
                    if (equipment.Identified)
                    {
                        return;
                    }
                    equipment.Identified = true;
                    LegacyLogic.Instance.EventManager.InvokeEvent(partyInventoryController, EEventType.INVENTORY_ITEM_CHANGED, new InventoryItemEventArgs(new InventorySlotRef(partyInventoryController.Inventory, slotIndexForItem)));
                    if (m_identifyInventory.FromScroll)
                    {
                        m_identifyInventory.RemoveOneScroll();
                    }
                    else if (!m_fromSpell)
                    {
                        LegacyLogic.Instance.WorldManager.Party.ChangeGold(-m_costs);
                    }
                    else if (m_costs > 0)
                    {
                        LegacyLogic.Instance.WorldManager.Party.SelectedCharacter.ChangeMP(-m_costs);
                    }
                    AudioManager.Instance.RequestPlayAudioID("IdentifyGUI", 0);
                }
                else
                {
                    if (!equipment.Broken)
                    {
                        return;
                    }
                    equipment.Broken = false;
                    InventoryItemEventArgs p_eventArgs = null;
                    switch (m_itemContainer.RepairInventory.RepairType)
                    {
                    case ERepairType.ALL:
                        p_eventArgs = new InventoryItemEventArgs(InventoryItemEventArgs.ERepairType.ALL);
                        break;

                    case ERepairType.WEAPONS:
                        p_eventArgs = new InventoryItemEventArgs(InventoryItemEventArgs.ERepairType.WEAPONS);
                        break;

                    case ERepairType.ARMOR_AND_SHIELD:
                        p_eventArgs = new InventoryItemEventArgs(InventoryItemEventArgs.ERepairType.ARMOR);
                        break;
                    }
                    if (slotIndexForItem == -1)
                    {
                        CharacterInventoryController characterInventoryController = null;
                        foreach (Character character in LegacyLogic.Instance.WorldManager.Party.Members)
                        {
                            slotIndexForItem = character.Equipment.GetSlotIndexForItem(item);
                            if (slotIndexForItem > -1)
                            {
                                characterInventoryController = character.Equipment;
                                break;
                            }
                        }
                        if (characterInventoryController != null && slotIndexForItem > -1)
                        {
                            LegacyLogic.Instance.EventManager.InvokeEvent(characterInventoryController.Equipment, EEventType.INVENTORY_ITEM_REPAIR_STATUS_CHANGED, p_eventArgs);
                        }
                    }
                    else
                    {
                        LegacyLogic.Instance.EventManager.InvokeEvent(partyInventoryController, EEventType.INVENTORY_ITEM_REPAIR_STATUS_CHANGED, p_eventArgs);
                    }
                    LegacyLogic.Instance.WorldManager.Party.ChangeGold(-m_costs);
                }
                m_didDoAnyAction = true;
                m_itemContainer.UpdateItems();
                m_itemContainer.SelectItemSlot(null);
                UpdateScrollBar();
                UpdateButtons();
            }
        }