Castle Game Engine: CastleItems: Class TInventory

# Class TInventory
Description | Hierarchy | Fields | Methods | Properties
## Unit CastleItems ## Declaration `type TInventory = class(specialize TFPGObjectList<TInventoryItem>)` ## Description List of items, with a 3D object (like a player or creature) owning these items. Do not directly change this list, always use the owner (T3DAliveWithInventory) methods like T3DAliveWithInventory.PickItem or T3DAliveWithInventory.DropItem. They make sure that items are correctly stacked, and that TInventoryItem.Owner3D and memory management is good. ## Hierarchy TFPGObjectList TInventory ## Overview ### Methods
| `function Pick(var Item: TInventoryItem): Integer;`
| `function Drop(const ItemIndex: Integer): TInventoryItem;`
| `procedure CheckDepleted(const Item: TInventoryItem);`
| `procedure Use(const Index: Integer);`
| `constructor Create(const AOwner3D: T3DAliveWithInventory);`
| `function FindResource(Resource: TItemResource): Integer;`
### Properties
| `property Owner3D: T3DAliveWithInventory read FOwner3D;`
## Description ### Methods
| `function Pick(var Item: TInventoryItem): Integer;`
Add Item to inventory. See T3DAliveWithInventory.PickItemUpdate description, this method actually implements it.
| `function Drop(const ItemIndex: Integer): TInventoryItem;`
`Drop` item with given index. ItemIndex must be valid (between 0 and Items.Count - 1). You must take care yourself of returned TInventoryItem memory management. This is the low-level basis for T3DAliveWithInventory.DropItem.
| `procedure CheckDepleted(const Item: TInventoryItem);`
Pass here items owned by this list, immediately after decreasing their Quantity. This frees the item (removing it from the list) if it's quantity reached zero.
| `procedure Use(const Index: Integer);`
`Use` the item of given index. This is the low-level basis for T3DAliveWithInventory.UseItem.
| `constructor Create(const AOwner3D: T3DAliveWithInventory);`
| `function FindResource(Resource: TItemResource): Integer;`
Searches for item of given Resource. Returns index of first found, or -1 if not found.
### Properties
| `property Owner3D: T3DAliveWithInventory read FOwner3D;`
Owner of the inventory (like a player or creature). Never `Nil`, always valid for given inventory. All items on this list always have the same TInventoryItem.Owner3D value as the inventory they are in.
Generated by PasDoc 0.13.0 on 2015-06-15 04:43:10