/// <summary> /// 设置列表物件显示 /// </summary> /// <param name="PickUpList"></param> /// <param name="EquippedList"></param> private void SetBagListItems(List <SingleItemInfo> PickUpList, List <GameObject> list) { BagListitem bagListitem = null; for (int i = 0; i < PickUpList.Count; i++) { list[i].SetActive(true); bagListitem = list[i].GetComponent <BagListitem>(); bagListitem.Item = PickUpList[i]; bagListitem.SetInfo(PickUpList[i].ItemName, ResourcesManager.Instance.GetUITexture(PickUpList[i].ResName), gameObject); bagListitem.Index = i; bagListitem.img.color = Color.white; } }
public void OnDrop(PointerEventData eventData) { if (canDrag == false) { if (eventData.pointerDrag != null) { BagListitem bagListitem = eventData.pointerDrag.GetComponent <BagListitem>(); DropItem dropItem = eventData.pointerDrag.GetComponent <DropItem>(); switch (equippedItemType) { case EquippedItem.BodyGem1: case EquippedItem.BodyGem2: case EquippedItem.HeadGem1: case EquippedItem.HeadGem2: case EquippedItem.Weapon1_Gem1: case EquippedItem.Weapon1_Gem2: case EquippedItem.Weapon2_Gem1: case EquippedItem.Weapon2_Gem2: if (bagListitem != null) { if (bagListitem.Item.itemType == ItemType.Gem) { image.sprite = bagListitem.img.sprite; object[] param = new object[2]; param[0] = equippedItemType; param[1] = bagListitem.Item; MessageCenter.Send_Multparam(Meaningless.EMessageType.EquipItem, param); ItemInfo = bagListitem.Item; bagListitem.UseItem(); canDrag = true; } } if (dropItem != null) { if (dropItem.ItemInfo.itemType == ItemType.Gem) { image.sprite = dropItem.image.sprite; MessageCenter.Send(Meaningless.EMessageType.UnEquipItem, dropItem.equippedItemType); object[] param = new object[2]; param[0] = equippedItemType; param[1] = dropItem.ItemInfo; MessageCenter.Send_Multparam(Meaningless.EMessageType.EquipItem, param); ItemInfo = dropItem.ItemInfo; canDrag = true; dropItem.DropedToOtherSlot(); } } break; case EquippedItem.Head: if (bagListitem != null) { if (bagListitem.Item.itemType == ItemType.Armor) { if (bagListitem.Item.armorProperties.armorType == ArmorType.Head) { image.sprite = bagListitem.img.sprite; BagManager.Instance.EquipItem(equippedItemType, bagListitem.Item); ItemInfo = bagListitem.Item; bagListitem.Equip(); CameraBase.Instance.player.GetComponent <PlayerController>().EquipHelmet(bagListitem.Item.ItemID); NetworkManager.SendPlayerEquipHelmet(bagListitem.Item.ItemID); //发送戴头盔消息 canDrag = true; } } } break; case EquippedItem.Body: if (bagListitem != null) { if (bagListitem.Item.itemType == ItemType.Armor) { if (bagListitem.Item.armorProperties.armorType == ArmorType.Body) { image.sprite = bagListitem.img.sprite; BagManager.Instance.EquipItem(equippedItemType, bagListitem.Item); ItemInfo = bagListitem.Item; bagListitem.Equip(); CameraBase.Instance.player.GetComponent <PlayerController>().EquipClothes(bagListitem.Item.ItemID); NetworkManager.SendPlayerEquipClothe(bagListitem.Item.ItemID); //发送着衫消息 canDrag = true; } } } break; case EquippedItem.Weapon1: if (bagListitem != null) { if (bagListitem.Item.itemType == ItemType.Weapon) { if (bagListitem.Item.weaponProperties.weaponType != WeaponType.Shield) { image.sprite = bagListitem.img.sprite; // MessageCenter.Send_Multparam(Meaningless.EMessageType.EquipItem, param); BagManager.Instance.EquipItem(equippedItemType, bagListitem.Item); BagManager.Instance.CurrentSelected = 1; CameraBase.Instance.player.GetComponent <PlayerController>().ChangeWeapon(1); NetworkManager.SendPlayerEquipWeapon(bagListitem.Item.ItemID); //发送换武器消息 ItemInfo = bagListitem.Item; bagListitem.Equip(); canDrag = true; } } } break; case EquippedItem.Weapon2: if (bagListitem != null) { if (bagListitem.Item.itemType == ItemType.Weapon) { if (bagListitem.Item.weaponProperties.weaponType != WeaponType.Shield) { image.sprite = bagListitem.img.sprite; BagManager.Instance.EquipItem(equippedItemType, bagListitem.Item); BagManager.Instance.CurrentSelected = 2; CameraBase.Instance.player.GetComponent <PlayerController>().ChangeWeapon(2); NetworkManager.SendPlayerEquipWeapon(bagListitem.Item.ItemID); //发送换武器消息 ItemInfo = bagListitem.Item; bagListitem.Equip(); canDrag = true; } } } break; case EquippedItem.Magic1: case EquippedItem.Magic2: if (bagListitem != null) { if (bagListitem.Item.itemType == ItemType.Magic) { image.sprite = bagListitem.img.sprite; BagManager.Instance.EquipItem(equippedItemType, bagListitem.Item); ItemInfo = bagListitem.Item; bagListitem.Equip(); canDrag = true; } } break; } } } }