C# Class Universe.Region.SceneObjectPartInventory

Inheritance: IEntityInventory
显示文件 Open project: Virtual-Universe/Virtual-Universe Class Usage Examples

Protected Properties

Property Type Description
m_inventorySerial uint
m_items TaskInventoryDictionary
m_itemsLock object

Public Methods

Method Description
AddInventoryItem ( TaskInventoryItem item, bool allowedDrop ) : void

Add an item to this prim's inventory. If an item with the same name already exists, then an alternative name is chosen.

AddInventoryItemExclusive ( TaskInventoryItem item, bool allowedDrop ) : void

Add an item to this prim's inventory. If an item with the same name already exists, it is replaced.

ApplyGodPermissions ( uint perms ) : void
ApplyNextOwnerPermissions ( ) : void
ChangeInventoryGroup ( UUID groupID ) : void

Change every item in this inventory to a new group.

ChangeInventoryOwner ( UUID ownerId ) : void

Change every item in this inventory to a new owner.

ContainsScripts ( ) : bool
CreateScriptInstance ( TaskInventoryItem item, int startParam, bool postOnRez, StateSource stateSource ) : void

Start a script which is in this prim's inventory.

CreateScriptInstance ( UUID itemId, int startParam, bool postOnRez, StateSource stateSource ) : void

Start a script which is in this prim's inventory.

CreateScriptInstances ( int startParam, bool postOnRez, StateSource stateSource, UUID RezzedFrom, bool clearStateSaves ) : void

Start all the scripts contained in this prim's inventory

ForceInventoryPersistence ( ) : void

Force the task inventory of this prim to persist at the next update sweep

GetInventoryFileName ( ) : bool

Returns true if the file needs to be rebuild, false if it does not

GetInventoryItem ( UUID itemId ) : TaskInventoryItem

Returns an existing inventory item. Returns the original, so any changes will be live.

GetInventoryItems ( string name ) : IList

Get inventory items by name.

GetInventoryItems ( ) : List
GetInventoryList ( ) : List
GetInventoryScripts ( ) : List
GetRezReadySceneObject ( TaskInventoryItem item ) : ISceneEntity
GetScriptErrors ( UUID itemID ) : ArrayList
MaskEffectivePermissions ( ) : uint
RemoveInventoryItem ( UUID itemID ) : int

Remove an item from this prim's inventory

RemoveScriptInstance ( UUID itemId, bool sceneObjectBeingDeleted ) : void

Stop a script which is in this prim's inventory.

RemoveScriptInstances ( bool sceneObjectBeingDeleted ) : void

Stop all the scripts in this prim.

RequestInventoryFile ( IClientAPI client ) : void

Serialize all the metadata for the items in this prim's inventory ready for sending to the client

ResetInventoryIDs ( bool ChangeScripts ) : void

Reset UUIDs for all the items in the prim's inventory. This involves either generating new ones or setting existing UUIDs to the correct parent UUIDs. If this method is called and there are inventory items, then we regard the inventory as having changed.

ResetObjectID ( ) : void
RestoreInventoryItems ( ICollection items ) : void

Restore a whole collection of items to the prim's inventory at once. We assume that the items already have all their fields correctly filled out. The items are not flagged for persistence to the database, since they are being restored from persistence rather than being newly added.

ResumeScripts ( ) : void
SaveScriptStateSaves ( ) : void
SceneObjectPartInventory ( SceneObjectPart part ) : System.Collections

Constructor

UpdateInventoryItem ( TaskInventoryItem item ) : bool

Update an existing inventory item.

UpdateInventoryItem ( TaskInventoryItem item, bool fireScriptEvents ) : bool
UpdateScriptInstance ( UUID itemID, byte assetData, int startParam, bool postOnRez, StateSource stateSource ) : void

Updates a script which is in this prim's inventory.

Protected Methods

Method Description
AddInventoryItem ( string name, TaskInventoryItem item, bool allowedDrop ) : void

Add an item to this prim's inventory.

Private Methods

Method Description
FindAvailableInventoryName ( string name ) : string

For a given item name, return that name if it is available. Otherwise, return the next available similar name (which is currently the original name with the next available numeric suffix).

InventoryContainsName ( string name ) : bool

Check if the inventory holds an item with a given name.

ResumeScript ( TaskInventoryItem item ) : void

Method Details

AddInventoryItem() public method

Add an item to this prim's inventory. If an item with the same name already exists, then an alternative name is chosen.
public AddInventoryItem ( TaskInventoryItem item, bool allowedDrop ) : void
item Universe.Framework.SceneInfo.TaskInventoryItem
allowedDrop bool
return void

AddInventoryItem() protected method

Add an item to this prim's inventory.
protected AddInventoryItem ( string name, TaskInventoryItem item, bool allowedDrop ) : void
name string The name that the new item should have.
item Universe.Framework.SceneInfo.TaskInventoryItem /// The item itself. The name within this structure is ignored in favor of the name /// given in this method's arguments ///
allowedDrop bool /// Item was only added to inventory because AllowedDrop is set ///
return void

AddInventoryItemExclusive() public method

Add an item to this prim's inventory. If an item with the same name already exists, it is replaced.
public AddInventoryItemExclusive ( TaskInventoryItem item, bool allowedDrop ) : void
item Universe.Framework.SceneInfo.TaskInventoryItem
allowedDrop bool
return void

ApplyGodPermissions() public method

public ApplyGodPermissions ( uint perms ) : void
perms uint
return void

ApplyNextOwnerPermissions() public method

public ApplyNextOwnerPermissions ( ) : void
return void

ChangeInventoryGroup() public method

Change every item in this inventory to a new group.
public ChangeInventoryGroup ( UUID groupID ) : void
groupID UUID
return void

ChangeInventoryOwner() public method

Change every item in this inventory to a new owner.
public ChangeInventoryOwner ( UUID ownerId ) : void
ownerId UUID
return void

ContainsScripts() public method

public ContainsScripts ( ) : bool
return bool

CreateScriptInstance() public method

Start a script which is in this prim's inventory.
public CreateScriptInstance ( TaskInventoryItem item, int startParam, bool postOnRez, StateSource stateSource ) : void
item Universe.Framework.SceneInfo.TaskInventoryItem
startParam int
postOnRez bool
stateSource StateSource
return void

CreateScriptInstance() public method

Start a script which is in this prim's inventory.
public CreateScriptInstance ( UUID itemId, int startParam, bool postOnRez, StateSource stateSource ) : void
itemId UUID /// A ///
startParam int
postOnRez bool
stateSource StateSource
return void

CreateScriptInstances() public method

Start all the scripts contained in this prim's inventory
public CreateScriptInstances ( int startParam, bool postOnRez, StateSource stateSource, UUID RezzedFrom, bool clearStateSaves ) : void
startParam int
postOnRez bool
stateSource StateSource
RezzedFrom UUID
clearStateSaves bool
return void

ForceInventoryPersistence() public method

Force the task inventory of this prim to persist at the next update sweep
public ForceInventoryPersistence ( ) : void
return void

GetInventoryFileName() public method

Returns true if the file needs to be rebuild, false if it does not
public GetInventoryFileName ( ) : bool
return bool

GetInventoryItem() public method

Returns an existing inventory item. Returns the original, so any changes will be live.
public GetInventoryItem ( UUID itemId ) : TaskInventoryItem
itemId UUID
return Universe.Framework.SceneInfo.TaskInventoryItem

GetInventoryItems() public method

Get inventory items by name.
public GetInventoryItems ( string name ) : IList
name string
return IList

GetInventoryItems() public method

public GetInventoryItems ( ) : List
return List

GetInventoryList() public method

public GetInventoryList ( ) : List
return List

GetInventoryScripts() public method

public GetInventoryScripts ( ) : List
return List

GetRezReadySceneObject() public method

public GetRezReadySceneObject ( TaskInventoryItem item ) : ISceneEntity
item Universe.Framework.SceneInfo.TaskInventoryItem
return ISceneEntity

GetScriptErrors() public method

public GetScriptErrors ( UUID itemID ) : ArrayList
itemID UUID
return System.Collections.ArrayList

MaskEffectivePermissions() public method

public MaskEffectivePermissions ( ) : uint
return uint

RemoveInventoryItem() public method

Remove an item from this prim's inventory
public RemoveInventoryItem ( UUID itemID ) : int
itemID UUID
return int

RemoveScriptInstance() public method

Stop a script which is in this prim's inventory.
public RemoveScriptInstance ( UUID itemId, bool sceneObjectBeingDeleted ) : void
itemId UUID
sceneObjectBeingDeleted bool /// Should be true if this script is being removed because the scene /// object is being deleted. This will prevent spurious updates to the client. ///
return void

RemoveScriptInstances() public method

Stop all the scripts in this prim.
public RemoveScriptInstances ( bool sceneObjectBeingDeleted ) : void
sceneObjectBeingDeleted bool /// Should be true if these scripts are being removed because the scene /// object is being deleted. This will prevent spurious updates to the client. ///
return void

RequestInventoryFile() public method

Serialize all the metadata for the items in this prim's inventory ready for sending to the client
public RequestInventoryFile ( IClientAPI client ) : void
client IClientAPI
return void

ResetInventoryIDs() public method

Reset UUIDs for all the items in the prim's inventory. This involves either generating new ones or setting existing UUIDs to the correct parent UUIDs. If this method is called and there are inventory items, then we regard the inventory as having changed.
public ResetInventoryIDs ( bool ChangeScripts ) : void
ChangeScripts bool
return void

ResetObjectID() public method

public ResetObjectID ( ) : void
return void

RestoreInventoryItems() public method

Restore a whole collection of items to the prim's inventory at once. We assume that the items already have all their fields correctly filled out. The items are not flagged for persistence to the database, since they are being restored from persistence rather than being newly added.
public RestoreInventoryItems ( ICollection items ) : void
items ICollection
return void

ResumeScripts() public method

public ResumeScripts ( ) : void
return void

SaveScriptStateSaves() public method

public SaveScriptStateSaves ( ) : void
return void

SceneObjectPartInventory() public method

Constructor
public SceneObjectPartInventory ( SceneObjectPart part ) : System.Collections
part SceneObjectPart /// A ///
return System.Collections

UpdateInventoryItem() public method

Update an existing inventory item.
public UpdateInventoryItem ( TaskInventoryItem item ) : bool
item Universe.Framework.SceneInfo.TaskInventoryItem /// The updated item. An item with the same id must already exist /// in this prim's inventory. ///
return bool

UpdateInventoryItem() public method

public UpdateInventoryItem ( TaskInventoryItem item, bool fireScriptEvents ) : bool
item Universe.Framework.SceneInfo.TaskInventoryItem
fireScriptEvents bool
return bool

UpdateScriptInstance() public method

Updates a script which is in this prim's inventory.
public UpdateScriptInstance ( UUID itemID, byte assetData, int startParam, bool postOnRez, StateSource stateSource ) : void
itemID UUID
assetData byte
startParam int
postOnRez bool
stateSource StateSource
return void

Property Details

m_inventorySerial protected_oe property

Serial count for inventory file , used to tell if inventory has changed no need for this to be part of Database backup
protected uint m_inventorySerial
return uint

m_items protected_oe property

Holds in memory prim inventory
protected TaskInventoryDictionary m_items
return TaskInventoryDictionary

m_itemsLock protected_oe property

protected object m_itemsLock
return object