Example #1
0
 void Init(ShowLootPickerSignal showLootPickerSignal, ItemSelectedSignal selectedSignal)
 {
     _showLootPickerSignal = showLootPickerSignal;
     _selectedLootSignal   = selectedSignal;
     foreach (var item in StartItems)
     {
         AddItem(item);
     }
 }
Example #2
0
    private void AddItemAfterSelect(Item selectedItem)
    {
        _selectedLootSignal -= AddItemAfterSelect;
        var healtData = this.gameObject.GetComponentInChildren <HealthData>();

        if (_oldItem != selectedItem)
        {
            Destroy(_oldItem.gameObject);
            if (healtData != null)
            {
                healtData.RemoveArmorItem(_oldItem);
            }
        }
        if (_newItem != selectedItem)
        {
            Destroy(_newItem.gameObject);
            if (healtData != null)
            {
                healtData.RemoveArmorItem(_newItem);
            }
        }
        AddItem(selectedItem);
    }
Example #3
0
    public void AddItem(Item item)
    {
        if (item == null)
        {
            return;
        }

        if (!Items.ContainsKey(item.SlotType))
        {
            Items.Add(item.SlotType, item);
            var healtData = this.gameObject.GetComponentInChildren <HealthData>();
            if (healtData != null)
            {
                if (item.BaseArmor > 0)
                {
                    healtData.ArmorItems.Push(item);
                }
            }
            item.SetParentInventory(this);
            item.AttachedToBody  = true;
            Items[item.SlotType] = item;
            UpdateItemView();
        }
        else
        {
            if (gameObject.tag.ToString() != "Player")
            {
                return;
            }
            _oldItem = Items[item.SlotType];
            _newItem = item;
            Items.Remove(item.SlotType);
            _selectedLootSignal += AddItemAfterSelect;
            _showLootPickerSignal.Fire(item, _oldItem);
        }
    }
 private void Init(ItemSelectedSignal signal)
 {
     _itemSelectedSignal = signal;
 }