This commit is contained in:
2026-06-02 08:27:03 +07:00
parent 7889064469
commit a48cd962e1
4232 changed files with 2 additions and 36881 deletions

View File

@@ -0,0 +1,81 @@
using System.Collections.Generic;
using UnityEngine.Events;
using UnityEngine.EventSystems;
namespace Invector.vItemManager
{
public class vEquipSlot : vItemSlot
{
[vEditorToolbar("Default")]
[vHelpBox("Select what ItemType this EquipSlot will equip", vHelpBoxAttribute.MessageType.Warning)]
public List<vItemType> itemType;
public bool clickToOpen = true;
public bool autoDeselect = true;
public UnityEvent onCancel, onSetLockToEquip, onUnlockToEquip;
public virtual void SetLockToEquip(bool value)
{
if (value) onSetLockToEquip.Invoke();
else onUnlockToEquip.Invoke();
}
/// <summary>
/// Add item to slot
/// </summary>
/// <param name="item">target item</param>
public override void AddItem(vItem item)
{
if (item) item.isInEquipArea = true;
base.AddItem(item);
}
/// <summary>
/// Enable or disable checkIcon
/// </summary>
/// <param name="value">Enable or disable value</param>
public override void CheckItem(bool value)
{
if (checkIcon && checkIcon.gameObject.activeSelf)
{
checkIcon.gameObject.SetActive(false);
}
}
/// <summary>
/// Remove current item of the slot
/// </summary>
public override void RemoveItem()
{
if (item != null) item.isInEquipArea = false;
base.RemoveItem();
}
/// <summary>
/// Event called when EquipSlot actions is canceled
/// </summary>
public virtual void OnCancel()
{
onCancel.Invoke();
}
#region UnityEngine.EventSystems Implementation
public override void OnDeselect(BaseEventData eventData)
{
if (autoDeselect)
base.OnDeselect(eventData);
}
public override void OnPointerExit(PointerEventData eventData)
{
if (autoDeselect)
base.OnPointerExit(eventData);
}
public override void OnPointerClick(PointerEventData eventData)
{
if (clickToOpen)
base.OnPointerClick(eventData);
}
#endregion
}
}