Namespace: GGG.Inventory.UI
Presents one inventory position and composes ItemSlotView for shared item data. It never mutates inventory state.
[DisallowMultipleComponent]
[Serializable]
public sealed class InventorySlotView : ItemSlotView, IItemSlotView, ISelectHandler, IDeselectHandler, ISubmitHandler, IPointerClickHandler, IBeginDragHandler, IDragHandler, IEndDragHandler, IDropHandler, IEventSystemHandler, IInventorySlotView, IInventorySlotInteractionSource
Inheritance
object ← Object ← Component ← Behaviour ← MonoBehaviour ← ItemSlotView ← InventorySlotView
Implements
IItemSlotView, ISelectHandler, IDeselectHandler, ISubmitHandler, IPointerClickHandler, IBeginDragHandler, IDragHandler, IEndDragHandler, IDropHandler, IEventSystemHandler, IInventorySlotView, IInventorySlotInteractionSource
Inherited Members
ItemSlotView.Instance, ItemSlotView.Definition, ItemSlotView.HasItem, ItemSlotView.SetItem(ItemInstance), ItemSlotView.Clear(), ItemSlotView.OnSelect(BaseEventData), ItemSlotView.OnDeselect(BaseEventData), ItemSlotView.OnSubmit(BaseEventData), ItemSlotView.OnPointerClick(PointerEventData), ItemSlotView.OnBeginDrag(PointerEventData), ItemSlotView.OnDrag(PointerEventData), ItemSlotView.OnEndDrag(PointerEventData), ItemSlotView.OnDrop(PointerEventData), MonoBehaviour.IsInvoking(), MonoBehaviour.CancelInvoke(), MonoBehaviour.Invoke(string, float), MonoBehaviour.InvokeRepeating(string, float, float), MonoBehaviour.CancelInvoke(string), MonoBehaviour.IsInvoking(string), MonoBehaviour.StartCoroutine(string), MonoBehaviour.StartCoroutine(string, object), MonoBehaviour.StartCoroutine(IEnumerator), MonoBehaviour.StartCoroutine_Auto(IEnumerator), MonoBehaviour.StopCoroutine(IEnumerator), MonoBehaviour.StopCoroutine(Coroutine), MonoBehaviour.StopCoroutine(string), MonoBehaviour.StopAllCoroutines(), MonoBehaviour.print(object), MonoBehaviour.destroyCancellationToken, MonoBehaviour.useGUILayout, MonoBehaviour.didStart, MonoBehaviour.didAwake, MonoBehaviour.runInEditMode, Behaviour.enabled, Behaviour.isActiveAndEnabled, Component.GetComponent(Type), Component.GetComponent<T>(), Component.TryGetComponent(Type, out Component), Component.TryGetComponent<T>(out T), Component.GetComponent(string), Component.GetComponentInChildren(Type, bool), Component.GetComponentInChildren(Type), Component.GetComponentInChildren<T>(bool), Component.GetComponentInChildren<T>(), Component.GetComponentsInChildren(Type, bool), Component.GetComponentsInChildren(Type), Component.GetComponentsInChildren<T>(bool), Component.GetComponentsInChildren<T>(bool, List<T>), Component.GetComponentsInChildren<T>(), Component.GetComponentsInChildren<T>(List<T>), Component.GetComponentInParent(Type, bool), Component.GetComponentInParent(Type), Component.GetComponentInParent<T>(bool), Component.GetComponentInParent<T>(), Component.GetComponentsInParent(Type, bool), Component.GetComponentsInParent(Type), Component.GetComponentsInParent<T>(bool), Component.GetComponentsInParent<T>(bool, List<T>), Component.GetComponentsInParent<T>(), Component.GetComponents(Type), Component.GetComponents(Type, List<Component>), Component.GetComponents<T>(List<T>), Component.GetComponents<T>(), Component.GetComponentIndex(), Component.CompareTag(string), Component.CompareTag(TagHandle), Component.SendMessageUpwards(string, object, SendMessageOptions), Component.SendMessageUpwards(string, object), Component.SendMessageUpwards(string), Component.SendMessageUpwards(string, SendMessageOptions), Component.SendMessage(string, object), Component.SendMessage(string), Component.SendMessage(string, object, SendMessageOptions), Component.SendMessage(string, SendMessageOptions), Component.BroadcastMessage(string, object, SendMessageOptions), Component.BroadcastMessage(string, object), Component.BroadcastMessage(string), Component.BroadcastMessage(string, SendMessageOptions), Component.transform, Component.transformHandle, Component.gameObject, Component.tag, Object.GetEntityId(), Object.GetInstanceID(), Object.GetHashCode(), Object.Equals(object), Object.InstantiateAsync<T>(T), Object.InstantiateAsync<T>(T, Transform), Object.InstantiateAsync<T>(T, Vector3, Quaternion), Object.InstantiateAsync<T>(T, Transform, Vector3, Quaternion), Object.InstantiateAsync<T>(T, int), Object.InstantiateAsync<T>(T, int, Transform), Object.InstantiateAsync<T>(T, int, Vector3, Quaternion), Object.InstantiateAsync<T>(T, int, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>), Object.InstantiateAsync<T>(T, int, Transform, Vector3, Quaternion), Object.InstantiateAsync<T>(T, int, Transform, Vector3, Quaternion, CancellationToken), Object.InstantiateAsync<T>(T, int, Transform, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>), Object.InstantiateAsync<T>(T, int, Transform, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>, CancellationToken), Object.InstantiateAsync<T>(T, InstantiateParameters, CancellationToken), Object.InstantiateAsync<T>(T, int, InstantiateParameters, CancellationToken), Object.InstantiateAsync<T>(T, Vector3, Quaternion, InstantiateParameters, CancellationToken), Object.InstantiateAsync<T>(T, int, Vector3, Quaternion, InstantiateParameters, CancellationToken), Object.InstantiateAsync<T>(T, int, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>, InstantiateParameters, CancellationToken), Object.Instantiate(Object, Vector3, Quaternion), Object.Instantiate(Object, Vector3, Quaternion, Transform), Object.Instantiate(Object), Object.Instantiate(Object, Scene), Object.Instantiate<T>(T, InstantiateParameters), Object.Instantiate<T>(T, Vector3, Quaternion, InstantiateParameters), Object.Instantiate(Object, Transform), Object.Instantiate(Object, Transform, bool), Object.Instantiate<T>(T), Object.Instantiate<T>(T, Vector3, Quaternion), Object.Instantiate<T>(T, Vector3, Quaternion, Transform), Object.Instantiate<T>(T, Transform), Object.Instantiate<T>(T, Transform, bool), Object.Destroy(Object, float), Object.Destroy(Object), Object.DestroyImmediate(Object, bool), Object.DestroyImmediate(Object), Object.FindObjectsOfType(Type), Object.FindObjectsOfType(Type, bool), Object.FindObjectsByType(Type, FindObjectsSortMode), Object.FindObjectsByType(Type, FindObjectsInactive, FindObjectsSortMode), Object.FindObjectsByType(Type), Object.FindObjectsByType(Type, FindObjectsInactive), Object.DontDestroyOnLoad(Object), Object.DestroyObject(Object, float), Object.DestroyObject(Object), Object.FindSceneObjectsOfType(Type), Object.FindObjectsOfTypeIncludingAssets(Type), Object.FindObjectsOfType<T>(), Object.FindObjectsByType<T>(FindObjectsSortMode), Object.FindObjectsOfType<T>(bool), Object.FindObjectsByType<T>(FindObjectsInactive, FindObjectsSortMode), Object.FindObjectOfType<T>(), Object.FindObjectOfType<T>(bool), Object.FindFirstObjectByType<T>(), Object.FindAnyObjectByType<T>(), Object.FindFirstObjectByType<T>(FindObjectsInactive), Object.FindAnyObjectByType<T>(FindObjectsInactive), Object.FindObjectsByType<T>(), Object.FindObjectsByType<T>(FindObjectsInactive), Object.FindObjectsOfTypeAll(Type), Object.FindObjectOfType(Type), Object.FindFirstObjectByType(Type), Object.FindAnyObjectByType(Type), Object.FindObjectOfType(Type, bool), Object.FindFirstObjectByType(Type, FindObjectsInactive), Object.FindAnyObjectByType(Type, FindObjectsInactive), Object.ToString(), Object.name, Object.hideFlags, object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.ReferenceEquals(object?, object?), object.ToString()
Properties
DisplayedItem
Gets the item instance represented by this slot view.
public ItemInstance DisplayedItem { get; }
Property Value
IsOccupied
Gets whether this slot currently contains an item.
public bool IsOccupied { get; }
Property Value
Quantity
Gets the number of runtime items in this stack or slot.
public int Quantity { get; }
Property Value
Slot
Gets the runtime slot bound to this view.
public InventorySlot Slot { get; }
Property Value
SlotIndex
Gets the zero-based index of the bound inventory slot.
public int SlotIndex { get; }
Property Value
Stack
Gets the item stack assigned to this slot, if any.
public InventoryStack Stack { get; }
Property Value
Methods
Bind(InventorySlot)
Connects the view to the specified runtime model.
public void Bind(InventorySlot slot)
Parameters
slot InventorySlot
Receives the matching runtime slot when found.
Clear()
Clears the contents displayed or stored by this component.
public override void Clear()
ClearSlot()
Clears the view binding and displayed slot contents.
public void ClearSlot()
OnItemChanged()
protected override void OnItemChanged()
RaiseDragInteraction(SlotDragInteractionType, PointerEventData)
protected override void RaiseDragInteraction(SlotDragInteractionType type, PointerEventData eventData)
Parameters
eventData PointerEventData
RaiseInteraction(SlotInteractionType)
protected override void RaiseInteraction(SlotInteractionType type)
Parameters
type SlotInteractionType
SetItem(ItemInstance)
Sets the item instance displayed by this view.
public override void SetItem(ItemInstance instance)
Parameters
instance ItemInstance
The runtime item instance to display or inspect.
DragInteractionRequested
Raised when a slot view reports a drag interaction.
public event Action<InventorySlotDragInteraction> DragInteractionRequested
Event Type
Action<InventorySlotDragInteraction>
InteractionRequested
Raised when a slot view requests an interaction.
public event Action<InventorySlotInteraction> InteractionRequested