/// <summary> /// Lorsqu'un item est relaché sur un slot /// </summary> public void OnMouseDrop() { if (draggedUI_Slot == null) return; dragSlotId = draggedUI_Slot.slotId; UpdateSlots(out slotSrc, slotId, out slotDest, dragSlotId); // Mise à jour de l'affichage de chacun des deux slots linkDataSlotsToUI(); LoadImage(); draggedUI_Slot.linkDataSlotsToUI(); draggedUI_Slot.LoadImage(); draggedUI_Slot = null; // Déséquippe si le slot d'origine était une arme et était placée sur un slot de main if (dragSlotId < 0 && slotSrc.Item.Type.Equals(ItemType.weapon)) { Inventory.EquipWeapon(slotDest.Item, false); playerControler.CmdUnequipItem(slotDest.Item.go); slotDest.Item.Equipped = false; slotDest.Item.animations = null; } // Equipe si l'objet est une arme et que le nouveau slot est une des mains if (slotId < 0 && slotDest.Item.Type.Equals(ItemType.weapon)) { Inventory.EquipWeapon(slotDest.Item, true); playerControler.CmdEquipItem(slotDest.Item.go, dragSlotId); slotDest.Item.animations = ClientScene.FindLocalObject(slotDest.Item.go).GetComponent<gvmAnimations>(); slotDest.Item.Equipped = true; } }
void Awake() { gameObject.SetActive(false); draggedUI_Slot = null; linkDataSlotsToUI(); }
/// <summary> /// Déplacement d'un objet vers un autre slot /// </summary> public void OnMouseDrag() { if (DataSlot.IsEmpty) return; else draggedUI_Slot = this; }