Commit Graph

30 Commits

Author SHA1 Message Date
Jamie Dale
cd3429e304 Optimized getting the list of collections for an object
The collections manager now stores a reverse look-up from the objects within its collections, to the collections that contain that object. This avoids the GetCollectionsContainingObject and GetCollectionsContainingObjects functions having to iterate the collections for each object queried, which can be a large win for large sets of objects.

This also adds some functions needed for the quick asset management feature.

[CL 2570748 by Jamie Dale in Main branch]
2015-05-29 13:15:23 -04:00
Jamie Dale
f7b3c5cd29 Added collection information to the asset and asset editor tooltips
UETOOL-332 - Collections 2.0
UETOOL-367 - Show which collections are on an asset

[CL 2560709 by Jamie Dale in Main branch]
2015-05-21 09:23:51 -04:00
Jamie Dale
a7d4db758a Collections code clean up
UETOOL-332 - Collections 2.0

Removed some duplicated data from FCollection (AssetList and AssetSet) as they had to be manually kept in sync. Only AssetSet exists now, and is converted into an array and sorted before being written to disk (to keep the order consistent for diffing). DiskAssetList has also been converted into a set (now DiskAssetSet) as this is only ever used for lookup queries.

All manually memory management has been removed from FCollectionManager, and the array of maps to collections has been converted into a single map using FCollectionNameType as its key. This simplifies collection lookup code in most cases, and removes the need to manually track the total number of collections outside of the map (NumCollections has now been removed).

Renamed ICollectionManager::GetCollectionsContainingAsset to ICollectionManager::GetCollectionsContainingObject as the function checks for any objects, not just assets.

Renamed FCollection::IsAssetInCollection to FCollection::IsObjectInCollection as the function checks for any objects, not just assets.

Made ICollectionManager::IsCollectionEmpty const.

Replaced all appropriate loop usage with range-based-for, and replaced any NULL with nullptr.

[CL 2560621 by Jamie Dale in Main branch]
2015-05-21 07:43:16 -04:00
Ben Marsh
149375b14b Update copyright notices to 2015.
[CL 2379638 by Ben Marsh in Main branch]
2014-12-07 19:09:38 -05:00
Tim Sweeney
324683ce78 Engine source (Main branch up to CL 2026164) 2014-03-14 14:13:41 -04:00