public Equipment UnequipEquipment(Equipment.Slot slot, int trinketSlot = -1) { Equipment unequippedItem = null; if (slot == Equipment.Slot.Trinket) { if (trinketSlot < 0) { return(null); } else { unequippedItem = currentEquipment[Equipment.Slot.Trinket][trinketSlot]; currentEquipment[Equipment.Slot.Trinket][trinketSlot] = null; } } else { unequippedItem = currentEquipment[slot][0]; currentEquipment[slot][0] = null; } if (unequippedItem != null) { foreach (var modifier in unequippedItem.Modifiers) { modifier.OnUnequip(this); } } RefreshCards(); return(unequippedItem); }
public void Refresh() { title.text = Player.Name; stats.text = "Critical Chance: " + (Player.stats.criticalChance.Value * 100).ToString() + "%" + "\nArmor: " + (Player.stats.armor.Value * 100).ToString() + "%" + "\nMagic Resist: " + (Player.stats.magicResist.Value * 100).ToString() + "%" + "\nArmor Penetration: " + (Player.stats.armorPenetration.Value * 100).ToString() + "%" + "\nMagic Penetration: " + (Player.stats.magicPenetration.Value * 100).ToString() + "%" + "\nDamage Multiplier: " + (Player.stats.rawDamageMultiplier.Value * 100).ToString() + "%"; healthOverlay.rectTransform.sizeDelta = new Vector2(Player.Health / (float)Player.MaxHealth * healthOverlayStartWidth, healthOverlay.rectTransform.sizeDelta.y); healthText.text = Player.Health + "/" + Player.MaxHealth; manaText.text = Player.mana.ToString(); int trinketIndex = 0; foreach (var slot in slots) { Equipment.Slot targetSlot = slot.Slot; if (targetSlot == Equipment.Slot.Trinket) { slot.SetItem(Player.currentEquipment[targetSlot][trinketIndex]); trinketIndex++; } else { slot.SetItem(Player.currentEquipment[targetSlot][0]); } } numberOfCardsText.text = "Cards\n(" + Player.cards.Count + ")"; }
public void UnequipForPlayer(Player player, Equipment.Slot type, int trinketIndex = -1) { Equipment e = player.UnequipEquipment(type, trinketIndex); if (e != null) { equipmentInventory.Add(e); } }
public List <Equipment> GetAllEquipmentByType(Equipment.Slot type) { List <Equipment> equipment = new List <Equipment>(); foreach (var e in equipmentInventory) { if (e.slot == type) { equipment.Add(e); } } return(equipment); }
public bool RemoveGem(EquipmentScriptableObject.GemColor gem, Equipment.Slot slot, int trinketSlot = -1) { if (slot == Equipment.Slot.Trinket) { if (trinketSlot < 0) { return(false); } if (currentEquipment[slot][trinketSlot].SocketCount < 1) { return(false); } if (currentEquipment[Equipment.Slot.Trinket][trinketSlot].RemoveGem(gem)) { RefreshCards(); return(true); } return(false); } else { if (currentEquipment[slot][0].SocketCount < 1) { return(false); } if (currentEquipment[slot][0].RemoveGem(gem)) { RefreshCards(); return(true); } return(false); } }
void InstantiateSlot(Player player, Equipment.Slot slot, string name, int index, EquipmentPanel equipmentPanel, int trinketIndex = -1) { GameObject slotGO = (GameObject)Instantiate(equipmentSlotPrefab, slotsHolder); RectTransform slotTransform = ((RectTransform)slotGO.transform); slotTransform.anchorMax = new Vector2(0, 1); slotTransform.anchorMin = new Vector2(0, 1); int row = index / 2; index %= 2; slotTransform.anchoredPosition = new Vector2(index * slotTransform.sizeDelta.x, -row * slotTransform.sizeDelta.y) + new Vector2(slotTransform.sizeDelta.x / 2, -slotTransform.sizeDelta.y / 2); slotGO.name = name + (trinketIndex > -1 ? (" " + trinketIndex.ToString()) : ""); EquipmentSlot newSlot = slotGO.GetComponentInChildren <EquipmentSlot>(); slots.Add(newSlot); slots[slots.Count - 1].Init(player, slot, trinketIndex); slotGO.transform.Find("Equipment Piece").GetComponent <Text>().text = name + ":"; newSlot.gameObject.GetComponentInChildren <DroppableArea>().droppable = equipmentPanel; newSlot.gameObject.GetComponentInChildren <RemovableArea>().removable = equipmentPanel; }
public void Init(Player player, Equipment.Slot slot, int trinketIndex = -1) { Player = player; Slot = slot; TrinketIndex = trinketIndex; }