void Awake() { if (this.slot == null) { this.slot = this.GetComponent <UIEquipSlot>(); } }
public override void OnEquipSlotDrop(UIEquipSlot slot) { foreach (var itr in inventory.equip_slots) { itr.Value.SetActiveGuideArrow(false); } EquipItem equipItemData = (EquipItem)data; if (slot.part != equipItemData.part) { return; } Stat prev = GameManager.Instance.player.stats + new Stat(); EquipItem unequipItem = null; if (null != slot.item) { if (slot.item.data == data) { return; } unequipItem = GameManager.Instance.player.Unequip(slot.part, slot.equip_index); GameManager.Instance.player.inventory.Add(unequipItem); } bool alreadyEquiped = equipItemData.equip; if (true == equipItemData.equip) { GameManager.Instance.player.Unequip(equipItemData.part, equipItemData.equip_index); } else { GameManager.Instance.player.inventory.Remove(equipItemData.slot_index); } GameManager.Instance.player.Equip((EquipItem)data, slot.equip_index); /* * if (false == alreadyEquiped) * { * string changedStat = DiffStat(prev, GameManager.Instance.player.stats); * * if (null != equipItemData.skill) * { * changedStat += "<color=white> " + equipItemData.skill.meta.description + "</color>"; * } * * if (null != unequipItem && null != unequipItem.skill) * { * changedStat += "<color=red> " + unequipItem.skill.meta.description + "</color>"; * } * GameManager.Instance.ui_textbox.AsyncWrite(changedStat, false); * } */ OnSelect(); }
private void OnPointerUp(PointerEventData evt) { if (null == data) { return; } icon.color = Color.white; grade.color = GetGradeColor(data.grade); do { bool overlap = false; foreach (UIItemSlot slot in inventory.inventory_slots) { if (true == slot.Contains(this)) { OnItemSlotDrop(slot); overlap = true; } } if (true == overlap) { break; } foreach (var itr in inventory.equip_slots) { UIEquipSlot slot = itr.Value; if (true == slot.Overlaps(this)) { OnEquipSlotDrop(slot); overlap = true; } } if (true == overlap) { break; } OnDrop(); } while (false); clone.transform.SetParent(null); Object.Destroy(clone.gameObject); clone = null; }
void Awake() { if (this.slot == null) this.slot = this.GetComponent<UIEquipSlot>(); }
public override void OnEquipSlotDrop(UIEquipSlot slot) { }
public override void OnSelect() { EquipItem equipItem = (EquipItem)data; foreach (var itr in inventory.equip_slots) { UIEquipSlot slot = itr.Value; if (slot.part != equipItem.part) { slot.SetActiveGuideArrow(false); continue; } if (slot.equip_index == equipItem.equip_index) { slot.SetActiveGuideArrow(false); continue; } slot.SetActiveGuideArrow(true); } inventory.item_info.Clear(); inventory.item_info.SetItemIcon(this); inventory.item_info.SetItemName(data.meta.name + "\n" + "<size=" + (inventory.item_info.name.fontSize * 0.8) + ">Lv." + equipItem.level + "</size>"); string description = data.meta.description + "\n\n"; foreach (Stat.Data stat in equipItem.main_stat.GetStats()) { Stat.Meta meta = Stat.Manager.Instance.FindMeta(stat.type); description += "<color=white> " + meta.ToString(stat.value) + "</color>\n"; } foreach (Stat.Data stat in equipItem.sub_stat.GetStats()) { Stat.Meta meta = Stat.Manager.Instance.FindMeta(stat.type); description += "<color=#4eb105> " + meta.ToString(stat.value) + "</color>\n"; } foreach (Skill skill in equipItem.skills) { description += "<color=red> " + skill.meta.description + "</color>\n"; } inventory.item_info.SetDescription(description); Text text = UIUtil.FindChild <Text>(inventory.item_info.buttons[(int)UIItemInfo.Action.Equip_0].transform, "Text"); if (EquipItem.Part.Hand == equipItem.part || EquipItem.Part.Ring == equipItem.part) { text.text = "[Equip:L]"; } else { text.text = "[Equip]"; } inventory.item_info.SetButtonListener(UIItemInfo.Action.Equip_0, () => { if (0 <= equipItem.slot_index) { GameManager.Instance.player.inventory.Remove(equipItem.slot_index); } if (true == equipItem.equip) { GameManager.Instance.player.Unequip(equipItem.part, equipItem.equip_index); } EquipItem prevItem = GameManager.Instance.player.Equip(equipItem, 0); if (null != prevItem) { GameManager.Instance.player.inventory.Add(prevItem); } OnSelect(); foreach (var itr in inventory.equip_slots) { itr.Value.SetActiveGuideArrow(false); } }); inventory.item_info.SetButtonListener(UIItemInfo.Action.Equip_1, () => { if (0 <= equipItem.slot_index) { GameManager.Instance.player.inventory.Remove(equipItem.slot_index); } if (true == equipItem.equip) { GameManager.Instance.player.Unequip(equipItem.part, equipItem.equip_index); } EquipItem prevItem = GameManager.Instance.player.Equip(equipItem, 1); if (null != prevItem) { GameManager.Instance.player.inventory.Add(prevItem); } OnSelect(); foreach (var itr in inventory.equip_slots) { itr.Value.SetActiveGuideArrow(false); } }); inventory.item_info.SetButtonListener(UIItemInfo.Action.Unequip, () => { EquipItem item = GameManager.Instance.player.Unequip(equipItem.part, equipItem.equip_index); GameManager.Instance.player.inventory.Add(item); OnSelect(); foreach (var itr in inventory.equip_slots) { itr.Value.SetActiveGuideArrow(false); } }); inventory.item_info.SetButtonListener(UIItemInfo.Action.Drop, () => { if (0 <= data.slot_index) { GameManager.Instance.player.inventory.Remove(data.slot_index); } else { GameManager.Instance.player.Unequip(equipItem.part, equipItem.equip_index); } inventory.item_info.Clear(); }); if (true == equipItem.equip) { if (EquipItem.Part.Hand == equipItem.part || EquipItem.Part.Ring == equipItem.part) { if (0 == equipItem.equip_index) { inventory.item_info.buttons[(int)UIItemInfo.Action.Equip_0].gameObject.SetActive(false); } if (1 == equipItem.equip_index) { inventory.item_info.buttons[(int)UIItemInfo.Action.Equip_1].gameObject.SetActive(false); } } else { inventory.item_info.buttons[(int)UIItemInfo.Action.Equip_0].gameObject.SetActive(false); inventory.item_info.buttons[(int)UIItemInfo.Action.Equip_1].gameObject.SetActive(false); } inventory.item_info.buttons[(int)UIItemInfo.Action.Drop].gameObject.SetActive(false); } else { if (EquipItem.Part.Hand == equipItem.part || EquipItem.Part.Ring == equipItem.part) { // } else { inventory.item_info.buttons[(int)UIItemInfo.Action.Equip_1].gameObject.SetActive(false); } inventory.item_info.buttons[(int)UIItemInfo.Action.Unequip].gameObject.SetActive(false); } }
public override void OnEquipSlotDrop(UIEquipSlot slot) { // do nothing }
public virtual void OnEquipSlotDrop(UIEquipSlot slot) { }
void OnEnable() { if (this.slot == null) this.slot = this.GetComponent<UIEquipSlot>(); }