// Each InventorySystem needs to be initialized with a client and root folder. public InventoryManager(SecondLife client) { slClient = client; slAssetManager = slClient.Assets; InvPacketHelper = new InventoryPacketHelper(slClient); // Need to know what when we're connected/disconnected slClient.Network.OnConnected += new NetworkManager.ConnectedCallback(Network_OnConnected); slClient.Network.OnDisconnected += new NetworkManager.DisconnectCallback(Network_OnDisconnected); // Setup the callback for Inventory Downloads slClient.Network.RegisterCallback(PacketType.InventoryDescendents, new NetworkManager.PacketCallback(InventoryDescendentsHandler)); // Setup the callback for Inventory Creation Update slClient.Network.RegisterCallback(PacketType.UpdateCreateInventoryItem, new NetworkManager.PacketCallback(UpdateCreateInventoryItemHandler)); }
/// <summary> /// Output this item as XML /// </summary> /// <param name="outputAssets">Include an asset data as well, TRUE/FALSE</param> override public string toXML(bool outputAssets) { string output = "<item "; output += "name = '" + xmlSafe(Name) + "' "; output += "uuid = '" + ItemID + "' "; output += "invtype = '" + InvType + "' "; output += "type = '" + Type + "' "; output += "description = '" + xmlSafe(Description) + "' "; output += "crc = '" + CRC + "' "; output += "debug = '" + InventoryPacketHelper.InventoryUpdateCRC(this) + "' "; output += "ownerid = '" + OwnerID + "' "; output += "creatorid = '" + CreatorID + "' "; output += "assetid = '" + AssetID + "' "; output += "groupid = '" + GroupID + "' "; output += "groupowned = '" + GroupOwned + "' "; output += "creationdate = '" + CreationDate + "' "; output += "flags = '" + Flags + "' "; output += "saletype = '" + SaleType + "' "; output += "saleprice = '" + SalePrice + "' "; output += "basemask = '" + BaseMask + "' "; output += "everyonemask = '" + EveryoneMask + "' "; output += "nextownermask = '" + NextOwnerMask + "' "; output += "groupmask = '" + GroupMask + "' "; output += "ownermask = '" + OwnerMask + "' "; output += ">"; if (outputAssets) { if (AssetID != LLUUID.Zero) { output += xmlSafe(Helpers.FieldToUTF8String(Asset.AssetData)); } } output += "</item>"; return(output); }
// Each InventorySystem needs to be initialized with a client and root folder. public InventoryManager(SecondLife client, LLUUID rootFolder) { slClient = client; if (slAssetManager == null) { slAssetManager = new AssetManager(slClient); } InvPacketHelper = new InventoryPacketHelper(slClient.Network.AgentID, slClient.Network.SessionID); uuidRootFolder = rootFolder; resetFoldersByUUID(); // Setup the callback for Inventory Downloads PacketCallback InventoryDescendentsCallback = new PacketCallback(InventoryDescendentsHandler); slClient.Network.RegisterCallback(PacketType.InventoryDescendents, InventoryDescendentsCallback); // Setup the callback for Inventory Creation Update PacketCallback UpdateCreateInventoryItemCallback = new PacketCallback(UpdateCreateInventoryItemHandler); slClient.Network.RegisterCallback(PacketType.UpdateCreateInventoryItem, UpdateCreateInventoryItemCallback); }
private void UpdateCRC() { _CRC = InventoryPacketHelper.InventoryUpdateCRC(this); }
/// <summary> /// Primary constructor /// </summary> /// <param name="client"></param> public InventoryManager(SecondLife client) { slClient = client; InvPacketHelper = new InventoryPacketHelper(slClient); // Need to know what when we're connected/disconnected slClient.Network.OnConnected += new NetworkManager.ConnectedCallback(Network_OnConnected); slClient.Network.OnDisconnected += new NetworkManager.DisconnectedCallback(Network_OnDisconnected); // Setup the callback for Inventory Downloads slClient.Network.RegisterCallback(PacketType.InventoryDescendents, new NetworkManager.PacketCallback(InventoryDescendentsHandler)); // Setup the callback for Inventory Creation Update slClient.Network.RegisterCallback(PacketType.UpdateCreateInventoryItem, new NetworkManager.PacketCallback(UpdateCreateInventoryItemHandler)); // Lets listen for inventory being given to us slClient.Self.OnInstantMessage += new MainAvatar.InstantMessageCallback(Self_OnInstantMessage); }