private bool CanEquip(EquipWeaponUI ui) { if (!(selected.isEquipSlot ^ ui.isEquipSlot)) { return(false); } if (selected.data != null && ui.data != null) { if (selected.data.name.Equals(ui.data.name)) { return(false); } } EquipWeaponUI equippedUI = selected.isEquipSlot ? selected : ui; EquipWeaponUI other = selected.isEquipSlot ? ui : selected; if (slots[1] == equippedUI && !other.equipped) { return(true); } else { return(!other.data.consumed && !other.equipped); } }
private void InitWeaponInventory() { ResetEquipped(); foreach (ItemData item in GameInformation.instance.GetInventory()) { bool equippedByUnit = (unit.WeaponMain != null && unit.WeaponMain.name.Equals(item.name)) || (unit.WeaponSecondary != null && unit.WeaponSecondary.name.Equals(item.name)); if (item.equipped && !equippedByUnit) { continue; } if (item.type != WeaponType.NONE && item.type != unit.weaponType) { continue; } GameObject temp = Instantiate(equipPrefab, inventoryPanel.transform); EquipWeaponUI ui = temp.GetComponent <EquipWeaponUI>(); ui.Set(item, equippedByUnit); if (equippedByUnit) { SetEquipped(item, ui, unit.WeaponMain != null && unit.WeaponMain.name.Equals(item.name)); } children.Add(temp); } }
public void Deselect(EquipWeaponUI ui) { if (selected == ui) { selected = null; } }
public void Set(ItemData data, bool equipped) { scrollViewUI = null; this.data = data; if (data == null) { image.sprite = emptySprite; text.text = ""; } else { image.sprite = data.sprite; text.text = data.name + "\n" + data.description; } if (equipped) { SetEquipped(); } else { SetUnequipped(); } }
public void Unequip() { if (!isEquipSlot) { return; } data = null; equipUI.Unequip(this); ResetEquipped(); scrollViewUI = null; equipped = false; }
public void Unequip(EquipWeaponUI ui) { if (ui.scrollViewUI != null) { ui.scrollViewUI.SetUnequipped(); } UpdateUnitInfo(); ui.Deselect(); if (selected == ui) { selected = null; } }
public bool Select(EquipWeaponUI ui) { if (selected == null) { selected = ui; return(true); } else if (CanEquip(ui)) { Equip(ui); return(false); } return(false); }
public void OnPointerClick(PointerEventData eventData) { ui = GetComponentInParent <EquipWeaponUI>(); if (ui == null) { return; } if (eventData.button == PointerEventData.InputButton.Left) { ui.ToggleSelect(); } else if (eventData.button == PointerEventData.InputButton.Right) { ui.Unequip(); } }
private void Equip(EquipWeaponUI ui) { EquipWeaponUI equippedUI = selected.isEquipSlot ? selected : ui; EquipWeaponUI other = selected.isEquipSlot ? ui : selected; if (equippedUI.scrollViewUI != null) { equippedUI.scrollViewUI.SetUnequipped(); } equippedUI.SetEquipped(other.data, other); other.SetEquipped(); UpdateUnitInfo(); equippedUI.Deselect(); other.Deselect(); selected = null; }
public void SetEquipped(ItemData data, EquipWeaponUI scrollView) { this.data = data; scrollViewUI = scrollView; image.sprite = data.sprite; text.text = data.name + "\n" + data.description; if (data.hasLimitedUse) { text.text += "\nUses per battle: " + data.usesPerBattle; } if (data.consumed) { text.text += "\nConsumed on use."; } equippedText.text = ""; }
private void SetEquipped(ItemData item, EquipWeaponUI scrollView, bool main) { int index = main ? 0 : 1; slots[index].SetEquipped(item, scrollView); }