Show / Hide Table of Contents

Class Inventory

Inheritance
System.Object
Inventory
ClothingInventory
DynamicInventory
InventoryCollection
LimitedInventory
ToolbarBackpackInventory
UserInventory
Implements
IController
IViewController
IHasUniversalID
Namespace: Eco.Gameplay.Items
Assembly: Eco.Gameplay.dll
Syntax
public abstract class Inventory : Object, IController, IViewController, IHasUniversalID

Constructors

Inventory()

Declaration
protected Inventory()

Fields

InventoryDestroyed

Declaration
public static ThreadSafeAction<Inventory> InventoryDestroyed
Field Value
Type Description
ThreadSafeAction<Inventory>

InventoryEffectsChanged

Declaration
public static ThreadSafeAction<Inventory> InventoryEffectsChanged
Field Value
Type Description
ThreadSafeAction<Inventory>

InventoryInitialized

Declaration
public static ThreadSafeAction<Inventory> InventoryInitialized
Field Value
Type Description
ThreadSafeAction<Inventory>

LockID

Declaration
public readonly Guid LockID
Field Value
Type Description
System.Guid

LockObject

Declaration
public object LockObject
Field Value
Type Description
System.Object

OverrideOwnerName

Declaration
public LocString OverrideOwnerName
Field Value
Type Description
LocString

StacksChanged

Declaration
public static ThreadSafeAction<IEnumerable<ItemStack>> StacksChanged
Field Value
Type Description
ThreadSafeAction<System.Collections.Generic.IEnumerable<ItemStack>>

Properties

AllInventories

Declaration
public IEnumerable<Inventory> AllInventories { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<Inventory>

AllParents

Declaration
public IEnumerable<Inventory> AllParents { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<Inventory>

AllParentsAndSelf

Declaration
public IEnumerable<Inventory> AllParentsAndSelf { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<Inventory>

AvailableForItemInteractions

If this inventory can receive item move events. Client can also filter this for drag and drop stuff

Declaration
public bool AvailableForItemInteractions { get; set; }
Property Value
Type Description
System.Boolean

ControllerID

Declaration
public ref int ControllerID { get; }
Property Value
Type Description
System.Int32

FillPerCent

Declaration
public float FillPerCent { get; }
Property Value
Type Description
System.Single

GroupedStacks

Declaration
public IEnumerable<ItemStack> GroupedStacks { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<ItemStack>

IsEmpty

Declaration
public bool IsEmpty { get; }
Property Value
Type Description
System.Boolean

IsFull

Declaration
public bool IsFull { get; }
Property Value
Type Description
System.Boolean

IsLeafInventory

Declaration
public virtual bool IsLeafInventory { get; }
Property Value
Type Description
System.Boolean

ManipulatableStacks

Stacks that can be manipulated through linked inventories, in sub-inventories that have similar item restrictions, override in concrete InventoryView to exclude certain stacks that would appear in Stacks

See UserInventory example, excluding the ClothingInventory as it's restricted to clothing items only, very different from ToolbarBackpackInventory

Declaration
public virtual IEnumerable<ItemStack> ManipulatableStacks { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<ItemStack>

NeedsAuth

Declaration
public virtual bool NeedsAuth { get; }
Property Value
Type Description
System.Boolean

NonEmptyStacks

Declaration
public IEnumerable<ItemStack> NonEmptyStacks { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<ItemStack>

OnChanged

Declaration
public ThreadSafeAction<User> OnChanged { get; }
Property Value
Type Description
ThreadSafeAction<User>

OnChangedDetailed

Declaration
public ThreadSafeAction<User, IEnumerable<KeyValuePair<Item, int>>, Dictionary<ItemStack, ChangedStack>> OnChangedDetailed { get; }
Property Value
Type Description
ThreadSafeAction<User, System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<Item, System.Int32>>, System.Collections.Generic.Dictionary<ItemStack, ChangedStack>>

Owner

Declaration
public virtual WorldObjectHandle Owner { get; }
Property Value
Type Description
WorldObjectHandle

OwnerName

Declaration
public virtual LocString OwnerName { get; }
Property Value
Type Description
LocString

Parent

Declaration
public Inventory Parent { get; }
Property Value
Type Description
Inventory

Restrictions

Declaration
public IEnumerable<InventoryRestriction> Restrictions { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<InventoryRestriction>

Root

Declaration
public Inventory Root { get; }
Property Value
Type Description
Inventory

ShelfLifeMultiplier

Declaration
public float ShelfLifeMultiplier { get; set; }
Property Value
Type Description
System.Single

Stacks

Declaration
public virtual IEnumerable<ItemStack> Stacks { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<ItemStack>

SubInventories

Declaration
protected virtual IEnumerable<Inventory> SubInventories { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<Inventory>

TypeToCount

Declaration
public Dictionary<Type, int> TypeToCount { get; }
Property Value
Type Description
System.Collections.Generic.Dictionary<System.Type, System.Int32>

Methods

AcceptsItem(Item)

Determines if the given item is accepted by the inventory regardless of the count.

Declaration
public bool AcceptsItem(Item item)
Parameters
Type Name Description
Item item
Returns
Type Description
System.Boolean

AddInvRestriction(InventoryRestriction)

Declaration
public void AddInvRestriction(InventoryRestriction restriction)
Parameters
Type Name Description
InventoryRestriction restriction

AddInvRestrictions(IEnumerable<InventoryRestriction>)

Declaration
public void AddInvRestrictions(IEnumerable<InventoryRestriction> restrictions)
Parameters
Type Name Description
System.Collections.Generic.IEnumerable<InventoryRestriction> restrictions

AddItem(Item, User)

Declaration
public void AddItem(Item item, User user = null)
Parameters
Type Name Description
Item item
User user

AddItemNonUnique(Type, User)

Declaration
public void AddItemNonUnique(Type itemType, User user = null)
Parameters
Type Name Description
System.Type itemType
User user

AddItemNonUnique<T>(User)

Declaration
public void AddItemNonUnique<T>(User user = null)
    where T : Item
Parameters
Type Name Description
User user
Type Parameters
Name Description
T

AddItems(Item, Int32, User)

Declaration
public bool AddItems(Item item, int quantity, User user = null)
Parameters
Type Name Description
Item item
System.Int32 quantity
User user
Returns
Type Description
System.Boolean

AddItems(ItemStack, User)

Declaration
public bool AddItems(ItemStack stack, User user = null)
Parameters
Type Name Description
ItemStack stack
User user
Returns
Type Description
System.Boolean

AddItems(IEnumerable<ItemStack>, User)

Declaration
public bool AddItems(IEnumerable<ItemStack> stacks, User user = null)
Parameters
Type Name Description
System.Collections.Generic.IEnumerable<ItemStack> stacks
User user
Returns
Type Description
System.Boolean

AddItemsNonUnique(Type, Int32, User)

Declaration
public void AddItemsNonUnique(Type itemType, int quantity, User user = null)
Parameters
Type Name Description
System.Type itemType
System.Int32 quantity
User user

AddItemsNonUnique<T>(Int32, User)

Declaration
public void AddItemsNonUnique<T>(int quantity, User user = null)
    where T : Item
Parameters
Type Name Description
System.Int32 quantity
User user
Type Parameters
Name Description
T

ApplyChanges(User, IEnumerable<Item>, Dictionary<ItemStack, ChangedStack>)

We make sure to call OnChanged to apply all the necessary changes.

Declaration
public void ApplyChanges(User user, IEnumerable<Item> changes, Dictionary<ItemStack, ChangedStack> changedStacks)
Parameters
Type Name Description
User user
System.Collections.Generic.IEnumerable<Item> changes
System.Collections.Generic.Dictionary<ItemStack, ChangedStack> changedStacks

Clear(User)

Declaration
public void Clear(User user = null)
Parameters
Type Name Description
User user

ClearItemStack(ItemStack, User)

Declaration
public void ClearItemStack(ItemStack stack, User user = null)
Parameters
Type Name Description
ItemStack stack
User user

ClearRestrictions()

Declaration
public void ClearRestrictions()

Contains(IEnumerable<ItemStack>)

Declaration
public bool Contains(IEnumerable<ItemStack> stacks)
Parameters
Type Name Description
System.Collections.Generic.IEnumerable<ItemStack> stacks
Returns
Type Description
System.Boolean

Destroy()

Declaration
public virtual void Destroy()

FillTargetStack(Type, ItemStack, User)

Declaration
public ValResult<int> FillTargetStack(Type itemType, ItemStack targetStack, User user = null)
Parameters
Type Name Description
System.Type itemType
ItemStack targetStack
User user
Returns
Type Description
ValResult<System.Int32>

FillTargetStack(Type, ItemStack, Int32, User)

Declaration
public ValResult<int> FillTargetStack(Type itemType, ItemStack targetStack, int quantity, User user = null)
Parameters
Type Name Description
System.Type itemType
ItemStack targetStack
System.Int32 quantity
User user
Returns
Type Description
ValResult<System.Int32>

FillTargetStack(Type, ItemStack, Int32, Func<ItemStack, Boolean>, User)

Declaration
public ValResult<int> FillTargetStack(Type itemType, ItemStack targetStack, int quantity, Func<ItemStack, bool> sourceStackPredicate = null, User user = null)
Parameters
Type Name Description
System.Type itemType
ItemStack targetStack
System.Int32 quantity
System.Func<ItemStack, System.Boolean> sourceStackPredicate
User user
Returns
Type Description
ValResult<System.Int32>

GetItemsWithTags(Tag, Int32)

Declaration
public IEnumerable<ItemStack> GetItemsWithTags(Tag tag, int num)
Parameters
Type Name Description
Tag tag
System.Int32 num
Returns
Type Description
System.Collections.Generic.IEnumerable<ItemStack>

GetMaxAccepted(Item, Int32, InventoryChangeSet, Inventory)

Get the maximum amount of item are allowed to put into this inventory

Declaration
public ValResult<int> GetMaxAccepted(Item item, int currentQuantity, InventoryChangeSet changeSet, Inventory sourceInventory = null)
Parameters
Type Name Description
Item item
System.Int32 currentQuantity

Current quantity of the Item in the Inventory

InventoryChangeSet changeSet

Data of the current transfer

Inventory sourceInventory
Returns
Type Description
ValResult<System.Int32>

GetMaxAccepted(Item, Int32, InventoryChangeSet, Inventory, out InventoryRestriction)

Declaration
public ValResult<int> GetMaxAccepted(Item item, int currentQuantity, InventoryChangeSet changeSet, Inventory sourceInventory, out InventoryRestriction strongestRestriction)
Parameters
Type Name Description
Item item
System.Int32 currentQuantity
InventoryChangeSet changeSet
Inventory sourceInventory
InventoryRestriction strongestRestriction
Returns
Type Description
ValResult<System.Int32>

GetMaxAccepted(Item, Int32, User, Inventory)

Declaration
public ValResult<int> GetMaxAccepted(Item item, int currentQuantity, User user = null, Inventory sourceInventory = null)
Parameters
Type Name Description
Item item
System.Int32 currentQuantity
User user
Inventory sourceInventory
Returns
Type Description
ValResult<System.Int32>

GetMaxAcceptedVal(Item, Int32, User, Inventory)

Declaration
public int GetMaxAcceptedVal(Item item, int currentQuantity, User user = null, Inventory pickupTarget = null)
Parameters
Type Name Description
Item item
System.Int32 currentQuantity
User user
Inventory pickupTarget
Returns
Type Description
System.Int32

GetMaxPickup(Item, Int32, InventoryChangeSet, Inventory, Int32)

Declaration
public ValResult<int> GetMaxPickup(Item item, int currentQuantity, InventoryChangeSet changeSet, Inventory otherInventory = null, int totalMoved = 0)
Parameters
Type Name Description
Item item
System.Int32 currentQuantity
InventoryChangeSet changeSet
Inventory otherInventory
System.Int32 totalMoved
Returns
Type Description
ValResult<System.Int32>

GetMaxPickup(Item, Int32, User, Inventory)

Check restrictions based on general data (for use outside changesets, some general pre-checks, etc). Get the maximum amount of items are allowed to pick up from the current Item stack

Declaration
public ValResult<int> GetMaxPickup(Item item, int currentQuantity, User user = null, Inventory targetInventory = null)
Parameters
Type Name Description
Item item

Items that are being transferred

System.Int32 currentQuantity

Current quantity of the Item in the Inventory

User user
Inventory targetInventory
Returns
Type Description
ValResult<System.Int32>

GetStacks<T>(Func<T, Boolean>)

Returns non-empty stacks where item is typeof(T) and fits filter

Declaration
public IEnumerable<ItemStack> GetStacks<T>(Func<T, bool> filter)
    where T : Item
Parameters
Type Name Description
System.Func<T, System.Boolean> filter
Returns
Type Description
System.Collections.Generic.IEnumerable<ItemStack>
Type Parameters
Name Description
T

GetStacksAndClear()

We get all the items stacks inside this inventory and then we make sure to empty it.

Declaration
public List<ItemStack> GetStacksAndClear()
Returns
Type Description
System.Collections.Generic.List<ItemStack>

HasRestriction<T>()

Declaration
public bool HasRestriction<T>()
    where T : InventoryRestriction
Returns
Type Description
System.Boolean
Type Parameters
Name Description
T

Initialize()

Declaration
protected virtual void Initialize()

Modify(Action<IInventoryChangeSet>, User)

Declaration
public void Modify(Action<IInventoryChangeSet> callback, User user = null)
Parameters
Type Name Description
System.Action<IInventoryChangeSet> callback
User user

MoveAllItems(Item, Int32, Inventory, Boolean, Func<ItemStack, Boolean>, User)

Declaration
public ValResult<int> MoveAllItems(Item itemSource, int quantity, Inventory destination, bool allowPartial, Func<ItemStack, bool> sourceStackPredicate = null, User user = null)
Parameters
Type Name Description
Item itemSource
System.Int32 quantity
Inventory destination
System.Boolean allowPartial
System.Func<ItemStack, System.Boolean> sourceStackPredicate
User user
Returns
Type Description
ValResult<System.Int32>

MoveAsManyItemsAsPossible(Inventory, User, InventoryAccessType)

Declaration
public ValResult<int> MoveAsManyItemsAsPossible(Inventory destination, User user = null, InventoryAccessType accessType)
Parameters
Type Name Description
Inventory destination
User user
InventoryAccessType accessType
Returns
Type Description
ValResult<System.Int32>

MoveAsManyItemsAsPossible(Inventory, Func<ItemStack, Boolean>, User, InventoryAccessType)

Declaration
public ValResult<int> MoveAsManyItemsAsPossible(Inventory destination, Func<ItemStack, bool> sourceStackPredicate = null, User user = null, InventoryAccessType accessFromVehicle)
Parameters
Type Name Description
Inventory destination
System.Func<ItemStack, System.Boolean> sourceStackPredicate
User user
InventoryAccessType accessFromVehicle
Returns
Type Description
ValResult<System.Int32>

MoveItems(ItemStack, Inventory, Int32, User)

Declaration
public Result MoveItems(ItemStack sourceStack, Inventory target, int quantity = -1, User user = null)
Parameters
Type Name Description
ItemStack sourceStack
Inventory target
System.Int32 quantity
User user
Returns
Type Description
Result

MoveItems(ItemStack, ItemStack, User, Int32)

Declaration
public static Result MoveItems(ItemStack sourceStack, ItemStack targetStack, User user, int quantityOverride = -1)
Parameters
Type Name Description
ItemStack sourceStack
ItemStack targetStack
User user
System.Int32 quantityOverride
Returns
Type Description
Result

MoveItems(Player, Inventory, Inventory, Item)

Declaration
public virtual void MoveItems(Player player, Inventory source, Inventory target, Item itemType)
Parameters
Type Name Description
Player player
Inventory source
Inventory target
Item itemType

MoveItems(Player, ItemStack, Inventory, Int32)

Declaration
public BSONObject MoveItems(Player player, ItemStack sourceStack, Inventory target, int quantity = -1)
Parameters
Type Name Description
Player player
ItemStack sourceStack
Inventory target
System.Int32 quantity
Returns
Type Description
BSONObject

MoveItems(Player, ItemStack, ItemStack)

Declaration
public virtual BSONObject MoveItems(Player player, ItemStack sourceStack, ItemStack targetStack)
Parameters
Type Name Description
Player player
ItemStack sourceStack
ItemStack targetStack
Returns
Type Description
BSONObject

MoveItems(Type, Int32, Inventory, User)

Declaration
public void MoveItems(Type type, int quantity, Inventory destination, User user = null)
Parameters
Type Name Description
System.Type type
System.Int32 quantity
Inventory destination
User user

MoveItems<TKey>(Item, Int32, Inventory, Func<ItemStack, Boolean>, Func<ItemStack, TKey>, User)

Declaration
public void MoveItems<TKey>(Item sourceItem, int quantity, Inventory destination, Func<ItemStack, bool> sourceStackPredicate = null, Func<ItemStack, TKey> sourceStackOrder = null, User user = null)
Parameters
Type Name Description
Item sourceItem
System.Int32 quantity
Inventory destination
System.Func<ItemStack, System.Boolean> sourceStackPredicate
System.Func<ItemStack, TKey> sourceStackOrder
User user
Type Parameters
Name Description
TKey

MoveItems<T>(Int32, Inventory, User)

Declaration
public void MoveItems<T>(int quantity, Inventory destination, User user = null)
Parameters
Type Name Description
System.Int32 quantity
Inventory destination
User user
Type Parameters
Name Description
T

MoveItems<TKey>(Type, Int32, Inventory, Func<ItemStack, Boolean>, Func<ItemStack, TKey>, User)

Declaration
public void MoveItems<TKey>(Type itemType, int quantity, Inventory destination, Func<ItemStack, bool> sourceStackPredicate = null, Func<ItemStack, TKey> sourceStackOrder = null, User user = null)
Parameters
Type Name Description
System.Type itemType
System.Int32 quantity
Inventory destination
System.Func<ItemStack, System.Boolean> sourceStackPredicate
System.Func<ItemStack, TKey> sourceStackOrder
User user
Type Parameters
Name Description
TKey

MoveItems<T, TKey>(Int32, Inventory, Func<ItemStack, Boolean>, Func<ItemStack, TKey>, User)

Declaration
public void MoveItems<T, TKey>(int quantity, Inventory destination, Func<ItemStack, bool> sourceStackPredicate = null, Func<ItemStack, TKey> sourceStackOrder = null, User user = null)
Parameters
Type Name Description
System.Int32 quantity
Inventory destination
System.Func<ItemStack, System.Boolean> sourceStackPredicate
System.Func<ItemStack, TKey> sourceStackOrder
User user
Type Parameters
Name Description
T
TKey

MoveItemsDoublePass(ItemStack, ItemStack, Inventory, User)

Declaration
public Result MoveItemsDoublePass(ItemStack sourceStack, ItemStack targetStack, Inventory alternativeInventoryTarget, User user = null)
Parameters
Type Name Description
ItemStack sourceStack
ItemStack targetStack
Inventory alternativeInventoryTarget
User user
Returns
Type Description
Result

MoveItemsDoublePass(Player, ItemStack, ItemStack, Inventory)

Declaration
public BSONObject MoveItemsDoublePass(Player player, ItemStack sourceStack, ItemStack targetStack, Inventory alternativeInventoryTarget)
Parameters
Type Name Description
Player player
ItemStack sourceStack
ItemStack targetStack
Inventory alternativeInventoryTarget
Returns
Type Description
BSONObject

MoveSomeItems(Player, ItemStack, ItemStack, Int32)

Declaration
public virtual BSONObject MoveSomeItems(Player player, ItemStack sourceStack, ItemStack targetStack, int quantity)
Parameters
Type Name Description
Player player
ItemStack sourceStack
ItemStack targetStack
System.Int32 quantity
Returns
Type Description
BSONObject

RemoveAllRestrictions()

Declaration
public void RemoveAllRestrictions()

RemoveAllRestrictions(Predicate<InventoryRestriction>)

Declaration
public void RemoveAllRestrictions(Predicate<InventoryRestriction> removeTest)
Parameters
Type Name Description
System.Predicate<InventoryRestriction> removeTest

RemoveAsMuchAsPossible(ItemRepresentation, Int32, User)

Declaration
public List<(Item, int)> RemoveAsMuchAsPossible(ItemRepresentation stackable, int quantity, User user = null)
Parameters
Type Name Description
ItemRepresentation stackable
System.Int32 quantity
User user
Returns
Type Description
System.Collections.Generic.List<System.ValueTuple<Item, System.Int32>>

RemoveItem(Type, User)

Declaration
public void RemoveItem(Type itemType, User user = null)
Parameters
Type Name Description
System.Type itemType
User user

RemoveItem<T>(User)

Declaration
public void RemoveItem<T>(User user = null)
    where T : Item
Parameters
Type Name Description
User user
Type Parameters
Name Description
T

RemoveItems(ItemStack, User)

Declaration
public void RemoveItems(ItemStack stack, User user = null)
Parameters
Type Name Description
ItemStack stack
User user

RemoveItems(Type, Int32, User)

Declaration
public void RemoveItems(Type itemType, int quantity, User user = null)
Parameters
Type Name Description
System.Type itemType
System.Int32 quantity
User user

RemoveItems<T>(Int32, User)

Declaration
public void RemoveItems<T>(int quantity, User user = null)
Parameters
Type Name Description
System.Int32 quantity
User user
Type Parameters
Name Description
T

RemoveLastRestriction()

Declaration
public void RemoveLastRestriction()

ReplaceItems(IEnumerable<ItemStack>)

This method make sure to clear all stacks content and then replace them with the content of the specified new stacks.

Declaration
public void ReplaceItems(IEnumerable<ItemStack> newStacks)
Parameters
Type Name Description
System.Collections.Generic.IEnumerable<ItemStack> newStacks

ReplaceStack(Player, ItemStack, Int32, Int32)

Declaration
public virtual void ReplaceStack(Player player, ItemStack originalStack, int itemTypeID, int count)
Parameters
Type Name Description
Player player
ItemStack originalStack
System.Int32 itemTypeID
System.Int32 count

SelectStack(Player, ItemStack)

Declaration
protected virtual void SelectStack(Player player, ItemStack stack)
Parameters
Type Name Description
Player player
ItemStack stack

SetOwner(WorldObject)

Declaration
public void SetOwner(WorldObject owner)
Parameters
Type Name Description
WorldObject owner

SuccessMoveWrapper(User, Inventory, Inventory, Item, Int32)

Declaration
public static ValResult<int> SuccessMoveWrapper(User user, Inventory source, Inventory target, Item item, int quantity)
Parameters
Type Name Description
User user
Inventory source
Inventory target
Item item
System.Int32 quantity
Returns
Type Description
ValResult<System.Int32>

TotalNumberOfItems(ItemRepresentation)

Declaration
public int TotalNumberOfItems(ItemRepresentation representation)
Parameters
Type Name Description
ItemRepresentation representation
Returns
Type Description
System.Int32

TotalNumberOfItems(Tag)

Declaration
public int TotalNumberOfItems(Tag itemTag)
Parameters
Type Name Description
Tag itemTag
Returns
Type Description
System.Int32

TotalNumberOfItems(String)

Declaration
public int TotalNumberOfItems(string displayName)
Parameters
Type Name Description
System.String displayName
Returns
Type Description
System.Int32

TotalNumberOfItems(Type)

Declaration
public int TotalNumberOfItems(Type itemType)
Parameters
Type Name Description
System.Type itemType
Returns
Type Description
System.Int32

TotalNumberOfItems<T>()

Declaration
public int TotalNumberOfItems<T>()
    where T : Item
Returns
Type Description
System.Int32
Type Parameters
Name Description
T

TryAddItem(Item, User)

Declaration
public Result TryAddItem(Item item, User user = null)
Parameters
Type Name Description
Item item
User user
Returns
Type Description
Result

TryAddItemNonUnique(Type, User)

Declaration
public Result TryAddItemNonUnique(Type itemType, User user = null)
Parameters
Type Name Description
System.Type itemType
User user
Returns
Type Description
Result

TryAddItemNonUnique<T>(User)

Declaration
public Result TryAddItemNonUnique<T>(User user = null)
    where T : Item
Parameters
Type Name Description
User user
Returns
Type Description
Result
Type Parameters
Name Description
T

TryAddItemsNonUnique(Type, Int32, User)

Declaration
public Result TryAddItemsNonUnique(Type itemType, int quantity, User user = null)
Parameters
Type Name Description
System.Type itemType
System.Int32 quantity
User user
Returns
Type Description
Result

TryAddItemsNonUnique<T>(Int32, User)

Declaration
public Result TryAddItemsNonUnique<T>(int quantity, User user = null)
    where T : Item
Parameters
Type Name Description
System.Int32 quantity
User user
Returns
Type Description
Result
Type Parameters
Name Description
T

TryClearItemStack(ItemStack, User)

Declaration
public Result TryClearItemStack(ItemStack stack, User user = null)
Parameters
Type Name Description
ItemStack stack
User user
Returns
Type Description
Result

TryGetBestRestrictionMessage(IEnumerable<InventoryRestriction>, out LocString)

Given a set of violated restrictions, will try to resolve a message that best describes all restrictions altogether. TODO: This was introduced as a quick fix for Store. Eventually inventory moves/restrictions/messages have to be rebuilt to keep a context of the initiating action.

Declaration
public static bool TryGetBestRestrictionMessage(IEnumerable<InventoryRestriction> violatedRestrictions, out LocString message)
Parameters
Type Name Description
System.Collections.Generic.IEnumerable<InventoryRestriction> violatedRestrictions

A set of violated restrictions to use for resolution.

LocString message

The generated message.

Returns
Type Description
System.Boolean

If a specialized message could be produced or not.

TryModify(Action<IInventoryChangeSet>, User)

Declaration
public Result TryModify(Action<IInventoryChangeSet> callback, User user = null)
Parameters
Type Name Description
System.Action<IInventoryChangeSet> callback
User user
Returns
Type Description
Result

TryMoveItems(Item, Int32, Inventory, User)

Declaration
public Result TryMoveItems(Item sourceItem, int quantity, Inventory destination, User user = null)
Parameters
Type Name Description
Item sourceItem
System.Int32 quantity
Inventory destination
User user
Returns
Type Description
Result

TryMoveItems(Type, Int32, Inventory, User)

Declaration
public Result TryMoveItems(Type type, int quantity, Inventory destination, User user = null)
Parameters
Type Name Description
System.Type type
System.Int32 quantity
Inventory destination
User user
Returns
Type Description
Result

TryMoveItems<TKey>(Item, Int32, Inventory, Func<ItemStack, Boolean>, Func<ItemStack, TKey>, User)

Declaration
public Result TryMoveItems<TKey>(Item sourceItem, int quantity, Inventory destination, Func<ItemStack, bool> sourceStackPredicate = null, Func<ItemStack, TKey> sourceStackOrder = null, User user = null)
Parameters
Type Name Description
Item sourceItem
System.Int32 quantity
Inventory destination
System.Func<ItemStack, System.Boolean> sourceStackPredicate
System.Func<ItemStack, TKey> sourceStackOrder
User user
Returns
Type Description
Result
Type Parameters
Name Description
TKey

TryMoveItems<T>(Int32, Inventory, User)

Declaration
public Result TryMoveItems<T>(int quantity, Inventory destination, User user = null)
Parameters
Type Name Description
System.Int32 quantity
Inventory destination
User user
Returns
Type Description
Result
Type Parameters
Name Description
T

TryMoveItems<TKey>(Type, Int32, Inventory, Func<ItemStack, Boolean>, Func<ItemStack, TKey>, User)

Declaration
public Result TryMoveItems<TKey>(Type itemType, int quantity, Inventory destination, Func<ItemStack, bool> sourceStackPredicate = null, Func<ItemStack, TKey> sourceStackOrder = null, User user = null)
Parameters
Type Name Description
System.Type itemType
System.Int32 quantity
Inventory destination
System.Func<ItemStack, System.Boolean> sourceStackPredicate
System.Func<ItemStack, TKey> sourceStackOrder
User user
Returns
Type Description
Result
Type Parameters
Name Description
TKey

TryMoveItems<T, TKey>(Int32, Inventory, Func<ItemStack, Boolean>, Func<ItemStack, TKey>, User)

Declaration
public Result TryMoveItems<T, TKey>(int quantity, Inventory destination, Func<ItemStack, bool> sourceStackPredicate = null, Func<ItemStack, TKey> sourceStackOrder = null, User user = null)
Parameters
Type Name Description
System.Int32 quantity
Inventory destination
System.Func<ItemStack, System.Boolean> sourceStackPredicate
System.Func<ItemStack, TKey> sourceStackOrder
User user
Returns
Type Description
Result
Type Parameters
Name Description
T
TKey

TryRemoveItem(Type, User)

Declaration
public Result TryRemoveItem(Type itemType, User user = null)
Parameters
Type Name Description
System.Type itemType
User user
Returns
Type Description
Result

TryRemoveItem<T>(User)

Declaration
public Result TryRemoveItem<T>(User user = null)
    where T : Item
Parameters
Type Name Description
User user
Returns
Type Description
Result
Type Parameters
Name Description
T

TryRemoveItems(ItemStack, User)

Declaration
public Result TryRemoveItems(ItemStack stack, User user = null)
Parameters
Type Name Description
ItemStack stack
User user
Returns
Type Description
Result

TryRemoveItems(IEnumerable<ItemStack>, User)

Declaration
public Result TryRemoveItems(IEnumerable<ItemStack> stacks, User user = null)
Parameters
Type Name Description
System.Collections.Generic.IEnumerable<ItemStack> stacks
User user
Returns
Type Description
Result

TryRemoveItems(Type, Int32, User)

Declaration
public Result TryRemoveItems(Type itemType, int quantity, User user = null)
Parameters
Type Name Description
System.Type itemType
System.Int32 quantity
User user
Returns
Type Description
Result

TryRemoveItems<T>(Int32, User)

Declaration
public Result TryRemoveItems<T>(int quantity, User user = null)
Parameters
Type Name Description
System.Int32 quantity
User user
Returns
Type Description
Result
Type Parameters
Name Description
T

TryRemoveItemsAsManyAsPossibleByType(Type, Int32, User)

Remove as much as we can, up to desired quantity, and return results.

Declaration
public ValResult<int> TryRemoveItemsAsManyAsPossibleByType(Type itemType, int quantity, User user = null)
Parameters
Type Name Description
System.Type itemType
System.Int32 quantity
User user
Returns
Type Description
ValResult<System.Int32>

TryRemoveItemsAsManyAsPossibleUnique(Item, Int32, User)

Remove as much as we can, up to desired quantity, and return results. Respects unique properties of item.

Declaration
public ValResult<int> TryRemoveItemsAsManyAsPossibleUnique(Item mustMatchItem, int quantity, User user = null)
Parameters
Type Name Description
Item mustMatchItem
System.Int32 quantity
User user
Returns
Type Description
ValResult<System.Int32>

UseStack(Player, ItemStack)

Declaration
public virtual string UseStack(Player player, ItemStack stack)
Parameters
Type Name Description
Player player
ItemStack stack
Returns
Type Description
System.String

Implements

IController
IViewController
IHasUniversalID

Extension Methods

InventoryUtils.ApplyRandomInventory(Inventory, Int32, Nullable<Boolean>, Int32, Boolean)
InventoryUtils.CanMoveItems(Inventory, Type, Int32, User, AccessType)
InventoryUtils.CanMoveItems(Inventory, Type, Int32, User, ref Int32, AccessType)
InventoryUtils.MakeGameAction(Inventory, Type, Int32, User, AccessType)
InventoryUtils.TryGetFirstStackMatchingOrEmpty(Inventory, Func<Item, Boolean>, out ItemStack)
InventoryUtils.FindItemStack(Inventory, Item)
InventoryUtils.ContainsItem(Inventory, Item)
SimpleInventory.CanFit(Inventory, Item, Int32)
TagUtils.TagNames(Object, Boolean)
TagUtils.TagDisplayNames(Object, Boolean)
ClientSetViewExtensions.SetClassOfProperty(Object, Player, String, String, Int32)
TypeTooltipExtensions.UILinkGeneric(Object)
☀
☾
In This Article
Back to top
Copyright (c) Strange Loop Games 2021
☀
☾