Class Inventory
Inheritance
System.Object
Inventory
Assembly: Eco.Gameplay.dll
Syntax
public abstract class Inventory : Object, IController, IViewController, IHasUniversalID
Constructors
Inventory()
Declaration
Fields
InventoryDestroyed
Declaration
public static ThreadSafeAction<Inventory> InventoryDestroyed
Field Value
InventoryEffectsChanged
Declaration
public static ThreadSafeAction<Inventory> InventoryEffectsChanged
Field Value
InventoryInitialized
Declaration
public static ThreadSafeAction<Inventory> InventoryInitialized
Field Value
LockID
Declaration
public readonly Guid LockID
Field Value
| Type |
Description |
| System.Guid |
|
LockObject
Declaration
Field Value
| Type |
Description |
| System.Object |
|
OverrideOwnerName
Declaration
public LocString OverrideOwnerName
Field Value
StacksChanged
Declaration
public static ThreadSafeAction<IEnumerable<ItemStack>> StacksChanged
Field Value
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
OnChangedDetailed
Declaration
public ThreadSafeAction<User, IEnumerable<KeyValuePair<Item, int>>, Dictionary<ItemStack, ChangedStack>> OnChangedDetailed { get; }
Property Value
Owner
Declaration
public virtual WorldObjectHandle Owner { get; }
Property Value
OwnerName
Declaration
public virtual LocString OwnerName { get; }
Property Value
Parent
Declaration
public Inventory Parent { get; }
Property Value
Restrictions
Declaration
public IEnumerable<InventoryRestriction> Restrictions { get; }
Property Value
Root
Declaration
public Inventory Root { get; }
Property Value
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
AddInvRestrictions(IEnumerable<InventoryRestriction>)
Declaration
public void AddInvRestrictions(IEnumerable<InventoryRestriction> restrictions)
Parameters
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
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
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
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
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
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
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
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
GetMaxAccepted(Item, Int32, InventoryChangeSet, Inventory, out InventoryRestriction)
Declaration
public ValResult<int> GetMaxAccepted(Item item, int currentQuantity, InventoryChangeSet changeSet, Inventory sourceInventory, out InventoryRestriction strongestRestriction)
Parameters
Returns
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
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
Returns
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
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
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
Initialize()
Declaration
protected virtual void Initialize()
Modify(Action<IInventoryChangeSet>, User)
Declaration
public void Modify(Action<IInventoryChangeSet> callback, User user = null)
Parameters
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
MoveAsManyItemsAsPossible(Inventory, User, InventoryAccessType)
Declaration
public ValResult<int> MoveAsManyItemsAsPossible(Inventory destination, User user = null, InventoryAccessType accessType)
Parameters
Returns
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
Returns
MoveItems(ItemStack, Inventory, Int32, User)
Declaration
public Result MoveItems(ItemStack sourceStack, Inventory target, int quantity = -1, User user = null)
Parameters
Returns
MoveItems(ItemStack, ItemStack, User, Int32)
Declaration
public static Result MoveItems(ItemStack sourceStack, ItemStack targetStack, User user, int quantityOverride = -1)
Parameters
Returns
MoveItems(Player, Inventory, Inventory, Item)
Declaration
public virtual void MoveItems(Player player, Inventory source, Inventory target, Item itemType)
Parameters
MoveItems(Player, ItemStack, Inventory, Int32)
Declaration
public BSONObject MoveItems(Player player, ItemStack sourceStack, Inventory target, int quantity = -1)
Parameters
Returns
MoveItems(Player, ItemStack, ItemStack)
Declaration
public virtual BSONObject MoveItems(Player player, ItemStack sourceStack, ItemStack targetStack)
Parameters
Returns
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
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
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
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
MoveItemsDoublePass(ItemStack, ItemStack, Inventory, User)
Declaration
public Result MoveItemsDoublePass(ItemStack sourceStack, ItemStack targetStack, Inventory alternativeInventoryTarget, User user = null)
Parameters
Returns
MoveItemsDoublePass(Player, ItemStack, ItemStack, Inventory)
Moves items to a given target stack, and if that fails, just drop it in the inventory in general.
Declaration
public BSONObject MoveItemsDoublePass(Player player, ItemStack sourceStack, ItemStack targetStack, Inventory alternativeInventoryTarget)
Parameters
Returns
MoveSomeItems(Player, ItemStack, ItemStack, Int32)
Declaration
public virtual BSONObject MoveSomeItems(Player player, ItemStack sourceStack, ItemStack targetStack, int quantity)
Parameters
Returns
RemoveAllRestrictions()
Declaration
public void RemoveAllRestrictions()
RemoveAllRestrictions(Predicate<InventoryRestriction>)
Declaration
public void RemoveAllRestrictions(Predicate<InventoryRestriction> removeTest)
Parameters
RemoveAsMuchAsPossible(ItemRepresentation, Int32, User)
Declaration
public List<(Item, int)> RemoveAsMuchAsPossible(ItemRepresentation stackable, int quantity, User user = null)
Parameters
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
RemoveItems(ItemStack, User)
Declaration
public void RemoveItems(ItemStack stack, User user = null)
Parameters
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
RemoveLastRestriction()
Declaration
public void RemoveLastRestriction()
ReplaceItems(IEnumerable<ItemStack>, Boolean)
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, bool ignoreRestrictions)
Parameters
| Type |
Name |
Description |
| System.Collections.Generic.IEnumerable<ItemStack> |
newStacks |
|
| System.Boolean |
ignoreRestrictions |
|
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
SetOwner(WorldObject)
Declaration
public void SetOwner(WorldObject owner)
Parameters
SuccessMoveWrapper(User, Inventory, Inventory, Item, Int32)
Declaration
public static ValResult<int> SuccessMoveWrapper(User user, Inventory source, Inventory target, Item item, int quantity)
Parameters
Returns
TotalNumberOfItems(ItemRepresentation)
Declaration
public int TotalNumberOfItems(ItemRepresentation representation)
Parameters
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
TryAddItem(Item, User)
Declaration
public Result TryAddItem(Item item, User user = null)
Parameters
| Type |
Name |
Description |
| Item |
item |
|
| User |
user |
|
Returns
TryAddItemNonUnique(Type, User)
Declaration
public Result TryAddItemNonUnique(Type itemType, User user = null)
Parameters
| Type |
Name |
Description |
| System.Type |
itemType |
|
| User |
user |
|
Returns
TryAddItemNonUnique<T>(User)
Declaration
public Result TryAddItemNonUnique<T>(User user = null)
where T : Item
Parameters
| Type |
Name |
Description |
| User |
user |
|
Returns
Type Parameters
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
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 Parameters
TryClearItemStack(ItemStack, User)
Declaration
public Result TryClearItemStack(ItemStack stack, User user = null)
Parameters
Returns
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
Returns
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
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
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 Parameters
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 Parameters
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 Parameters
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 Parameters
TryRemoveItem(Type, User)
Declaration
public Result TryRemoveItem(Type itemType, User user = null)
Parameters
| Type |
Name |
Description |
| System.Type |
itemType |
|
| User |
user |
|
Returns
TryRemoveItem<T>(User)
Declaration
public Result TryRemoveItem<T>(User user = null)
where T : Item
Parameters
| Type |
Name |
Description |
| User |
user |
|
Returns
Type Parameters
TryRemoveItems(ItemStack, User)
Declaration
public Result TryRemoveItems(ItemStack stack, User user = null)
Parameters
Returns
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
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
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 Parameters
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
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
UseStack(Player, ItemStack)
Declaration
public virtual string UseStack(Player player, ItemStack stack)
Parameters
Returns
| Type |
Description |
| System.String |
|
Implements
Extension Methods