InventorySlotView

Class

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

ItemInstance

IsOccupied

Gets whether this slot currently contains an item.

public bool IsOccupied { get; }

Property Value

bool

Quantity

Gets the number of runtime items in this stack or slot.

public int Quantity { get; }

Property Value

int

Slot

Gets the runtime slot bound to this view.

public InventorySlot Slot { get; }

Property Value

InventorySlot

SlotIndex

Gets the zero-based index of the bound inventory slot.

public int SlotIndex { get; }

Property Value

int

Stack

Gets the item stack assigned to this slot, if any.

public InventoryStack Stack { get; }

Property Value

InventoryStack

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

type SlotDragInteractionType

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

Event Type

Action<InventorySlotInteraction>