Beispiel #1
0
        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})"));
        }
Beispiel #3
0
 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);
        }