コード例 #1
0
 public virtual void UnEquip(ItemInstance equipedItem)
 {
     if (equipedItem != null)
     {
         var playerBehaviour = BaseMobileBehaviour as PlayerBehaviour;
         playerBehaviour.Unequip(equipedItem);
         UpdateItem(equipedItem);
         RenderProperButtons();
         SelectedItemPanelBehaviour.SetPanel(equipedItem);
     }
 }
コード例 #2
0
        public virtual void Equip(ItemInstance itemInstance)
        {
            //Check if any equipped item in same slot, then unequip it.
            var equipedItem = Storage.GetSameTypeEquippedItem(itemInstance.ItemTemplate.Type);

            if (equipedItem != null)
            {
                UnEquip(equipedItem);
            }

            //if its get this far, we have item here
            var playerBehaviour = BaseMobileBehaviour as PlayerBehaviour;

            playerBehaviour.Equip(itemInstance);
            UpdateItem(itemInstance);
            RenderProperButtons();

            SelectedItemPanelBehaviour.SetPanel(itemInstance);
        }
コード例 #3
0
        public override void Drop()
        {
            var selectedSlot = GetSelectedSlot();

            if (selectedSlot != null)
            {
                var itemInstance = selectedSlot.GetItemInstance();
                if (itemInstance.IsEquipped)
                {
                    UnEquip(itemInstance);
                }

                Storage.Delete(itemInstance);
                Destroy(selectedSlot.gameObject);

                SelectedItemPanelBehaviour.SetPanel(null);
                SelectedItemPanelBehaviour.gameObject.SetActive(false);
            }
        }
コード例 #4
0
        /*
         *  Make every other slot unselected after the coming slot in parameter is selected.
         */
        public virtual void OnAfterSlotSelected(BaseStorageSlotBehaviour slot)
        {
            for (int i = 0; i < transform.childCount; i++)
            {
                var childSlot = transform.GetChild(i).GetComponent <BaseStorageSlotBehaviour>();
                if (!childSlot.GetItemInstance().Id.Equals(slot.GetItemInstance().Id))
                {
                    //Debug.Log(i);
                    childSlot.SetSelected(false);
                }
            }

            if (SelectedItemPanelBehaviour != null)
            {
                SelectedItemPanelBehaviour.gameObject.SetActive(true);
                SelectedItemPanelBehaviour.SetPanel(slot.GetItemInstance());
            }

            RenderProperButtons();
        }
コード例 #5
0
        public override void OnAfterSlotSelected(BaseStorageSlotBehaviour slot)
        {
            foreach (var characterEquipmentSlot in CharacterEquipmentSlotBehaviours)
            {
                characterEquipmentSlot.SetSelected(false);
            }

            base.OnAfterSlotSelected(slot);

            if (slot.IsSelected)
            {
                SelectedItemPanelBehaviour.gameObject.SetActive(true);
                SelectedItemPanelBehaviour.SetPanel(slot.GetItemInstance());
                // Debug.Log(slot.GetItemInstance().ItemTemplate.ItemName + " is selected.");
            }
            else
            {
                SelectedItemPanelBehaviour.SetPanel(null);
                SelectedItemPanelBehaviour.gameObject.SetActive(false);

                // Debug.Log(slot.GetItemInstance().ItemTemplate.ItemName + " is deselected.");
            }
        }