public static void OnItemEquipped(int itemIndex) { if (ItemEquipped != null) { ItemEquipped.Invoke(itemIndex); } }
public void Equip(IItem item) { // We don't want multiple items equipped at the same time UnequipActiveItem(); // Place this item underneath our right hand HandleItemEquipped(item); // Invoke the Event if the Event is not null ActiveItemChanged?.Invoke(ActiveItem); ItemEquipped?.Invoke(item); }
public void SwapWeapon() { if (CombatEncounter.Active?.IsEntityTurn(gameObject) == false) { return; } var mh = Slots.First(s => s.Type == EquipmentSlotType.MainHand); var oh = Slots.First(s => s.Type == EquipmentSlotType.OffHand); if (mh.Item.IsAnySkillOnCooldown() || oh.Item.IsAnySkillOnCooldown()) { throw new SkillIsOnCooldownException(); } var current = new List <Item> { mh.Item, oh.Item }; if (!mh.IsEmpty) { RemoveItemBonuses(mh.Item, mh); RemoveVisuals(mh.Item, mh); } if (!oh.IsEmpty) { RemoveItemBonuses(oh.Item, oh); RemoveVisuals(oh.Item, oh); } mh.Put(AltWeaponSet[0]); oh.Put(AltWeaponSet[1]); if (!mh.IsEmpty) { ApplyItemBonuses(mh.Item, mh); ApplyVisuals(mh.Item, mh); } if (!oh.IsEmpty) { ApplyItemBonuses(oh.Item, oh); ApplyVisuals(oh.Item, oh); } IsOnAltWeaponSet = !IsOnAltWeaponSet; SetAltWeaponSet(current); ItemEquipped?.Invoke(mh.Item); ItemEquipped?.Invoke(oh.Item); }
public void Equip(IItem item) { if (ActiveItem != null) { ActiveItem.transform.SetParent(_itemRoot); ActiveItem.gameObject.SetActive(false); ItemUnEquipped?.Invoke(ActiveItem); } Debug.Log($"Equipped Item: {item.gameObject.name}"); item.transform.SetParent(rightHand); item.transform.localPosition = Vector3.zero; item.transform.localRotation = Quaternion.identity; ActiveItem = item; ActiveItem.gameObject.SetActive(true); ActiveItemChanged?.Invoke(ActiveItem); ItemEquipped?.Invoke(item); }
public void EquipIntoSlot(Item item, EquipmentSlot slot) { if (this.experience != null && item.RequiredLevel > this.experience.Experience.Level) { return; } if (item.IsEmpty) { Debug.LogError("Trying to equip empty item."); return; } if (!slot.CanEquip(item)) { Debug.LogError($"Can't equip item {item.Name} into slot with type {slot.Type}"); return; } if (IsEquipped(item)) { Unequip(item); } if (!slot.IsEmpty) { Unequip(slot.Item); } item.Type.EquipmentStrategy.Prepare(item, slot, this); item.EquipmentSlot = slot; item.Equipment = this; item.Inventory?.Remove(item); item.Inventory = this.inventory; slot.Put(item); ApplyItemBonuses(item, slot); ApplyVisuals(item, slot); ItemEquipped?.Invoke(item); }
private void OnItemEquipped(EventData eventData) { ItemEquipped?.Invoke(eventData); }
private void OnItemEquipped(ItemInfo itemEquipped) { ItemEventArgs itemEventArgs = new ItemEventArgs(itemEquipped); ItemEquipped?.Invoke(this, itemEventArgs); }