private bool FilterGroupData(PackerGroupData groupData) { if (string.IsNullOrEmpty(searchText)) { return(true); } if (searchCategory == SearchCategory.All || searchCategory == SearchCategory.Group) { if (!string.IsNullOrEmpty(groupData.Name) && groupData.Name.IndexOf(searchText, StringComparison.OrdinalIgnoreCase) >= 0) { return(true); } if (searchCategory == SearchCategory.Group) { return(false); } } foreach (var bundleData in groupData.bundleDatas) { if (FilterBundleData(bundleData)) { return(true); } } return(false); }
private void DrawGroupData(Rect contentRect, PackerGroupData groupData, int childCount) { Rect drawRect = new Rect(contentRect.x, contentRect.y, contentRect.height, contentRect.height); drawRect.x += drawRect.width + 5; drawRect.width = contentRect.width - drawRect.x; EditorGUI.LabelField(drawRect, new GUIContent($"{groupData.Name}({childCount})")); }
public bool IsGroupAddressRepeated(PackerGroupData group) { //foreach(var data in group.assetFiles) //{ // if(IsAddressRepeated(data.Address, out List <PackerBundleData> list)) // { // return true; // } //} return(false); }
public static PackerData GetPackerData() { AssetGroupCreater[] groups = AssetDatabaseUtility.FindInstances <AssetGroupCreater>(); List <AssetResult> results = new List <AssetResult>(); foreach (var group in groups) { results.AddRange(group.GetResults()); } PackerData packerData = new PackerData(); var groupNames = results.GroupBy((result) => result.GroupName).ToList(); foreach (var gn in groupNames) { PackerGroupData groupData = new PackerGroupData(); groupData.Name = gn.Key; packerData.groupDatas.Add(groupData); var bundleNames = gn.GroupBy((result) => result.Bundle).ToList(); foreach (var bn in bundleNames) { PackerBundleData bundleData = new PackerBundleData(); bundleData.Path = bn.Key; groupData.bundleDatas.Add(bundleData); foreach (var ad in bn) { PackerAssetData assetData = new PackerAssetData(); assetData.Address = ad.Address; assetData.Path = ad.Path; assetData.IsMainAsset = ad.IsMainAsset; assetData.IsScene = ad.IsScene; assetData.Labels = ad.Labels; bundleData.assetDatas.Add(assetData); } } } return(packerData); }