Example #1
0
    public void Refresh(InspectorElement element)
    {
        mSelectNodel      = ((BundleListWindow)mOwnerWindow).SelectNodel;
        cacheBundleObject = element;
        scrollVector2     = Vector2.zero;

        cacheFolderObject = cacheBundleObject as InspectorElementFolder;
        cachePrefabObject = cacheBundleObject as InspectorElementPrefab;
        if (cachePrefabObject != null)
        {
            LoadAsset(cachePrefabObject.Depends);
        }
    }
Example #2
0
    public void Refresh(InspectorElement element)
    {
        mSelectNodel = ((BundleListWindow)mOwnerWindow).SelectNodel;
        cacheBundleObject = element;
        scrollVector2 = Vector2.zero;

        cacheFolderObject = cacheBundleObject as InspectorElementFolder;
        cachePrefabObject = cacheBundleObject as InspectorElementPrefab;
        if (cachePrefabObject != null)
        {
            LoadAsset(cachePrefabObject.Depends);
        }
    }
Example #3
0
    public InspectorElement CreateInspectorElement(ref string assetFilePath, bool isFolder)
    {
        InspectorElement element = null;

        if (isFolder)
        {
            element = new InspectorElementFolder(assetFilePath);
        }
        else if (Path.GetExtension(assetFilePath) == ".prefab")
        {
            element = new InspectorElementPrefab(assetFilePath);
        }
        else
        {
            element = new InspectorElement(assetFilePath);
        }

        return(element);
    }
Example #4
0
    public static void BuildSingleByElementFolder(InspectorElementFolder folder, ListElement noder, bool immediatelyExecute = false)
    {
        //ClearBundleName();

        if (!immediatelyExecute && folder.IsIgnoreAll)
        {
            Debug.Log(string.Format("忽略文件 [{0}]!", folder.AssetFilePath));
            return;
        }


        //  common
        List <AssetBundleBuild> allBundle = new List <AssetBundleBuild>();

        allBundle.AddRange(GetCommonBuilds());

        //  all file
        List <ListElement> allElements = new List <ListElement>();

        if (folder.isIgnore)
        {
            GetSubFolderChildElements(noder, ref allElements);
        }
        else
        {
            GetAllChildElements(noder, ref allElements);
        }


        if (allElements.Count == 0)
        {
            Debug.Log(string.Format("当前文件夹中 [{0}] 不包含任何文件!", folder.AssetFilePath));
            return;
        }

        HashSet <string> filterStr = new HashSet <string>();

        for (int i = 0; i < allElements.Count; i++)
        {
            // ReSharper disable once SuspiciousTypeConversion.Global
            var elementData = allElements[i].ElementData as HierarchyListWindow.HierarchyElementData;
            if (elementData != null && !elementData.IsFolder)
            {
                InspectorElement elementPrefab = elementData.ElementData as InspectorElementPrefab;

                if (elementPrefab != null)
                {
                    if (elementPrefab.isIgnore == false)
                    {
                        var eledata = GetBundleBuildByElementPrefab((InspectorElementPrefab)elementPrefab);
                        for (int j = 0; j < eledata.Count; j++)
                        {
                            if (filterStr.Contains(eledata[j].assetBundleName) == false)
                            {
                                filterStr.Add(eledata[j].assetBundleName);
                                allBundle.Add(eledata[j]);
                            }
                        }
                    }
                    else
                    {
                        Debug.Log(string.Format("Ignore Asset File [{0}]!", elementPrefab.AssetFilePath));
                    }
                }
                //elementPrefab = ;

                //if (BundleDataManager.Instance.ResourcElements.TryGetValue(elementData.AssetFilePath, out elementPrefab))
                //{

                //}
            }
        }


        BuildAssetBundles(Application.dataPath + "/../../Resources/TestBuildNew", ref allBundle);

        //string outputFile = Application.dataPath + "/../../Resources/TestBuildNew";
        //if (Directory.Exists(outputFile) == false)
        //    Directory.CreateDirectory(outputFile);

        //BuildPipeline.BuildAssetBundles(outputFile, allBundle.ToArray(), BuildAssetBundleOptions.None, BundleSetting.UnityBuildTarget);
        //Debug.Log(outputFile);
    }
Example #5
0
    public static void BuildSingleByElementFolder(InspectorElementFolder folder, ListElement noder, bool immediatelyExecute = false)
    {
        //ClearBundleName();

        if (!immediatelyExecute && folder.IsIgnoreAll)
        {
            Debug.Log(string.Format("忽略文件 [{0}]!", folder.AssetFilePath));
            return;
        }


        //  common
        List<AssetBundleBuild> allBundle = new List<AssetBundleBuild>();
        allBundle.AddRange(GetCommonBuilds());

        //  all file
        List<ListElement> allElements = new List<ListElement>();

        if (folder.isIgnore)
            GetSubFolderChildElements(noder, ref allElements);
        else
        {
            GetAllChildElements(noder, ref allElements);
        }


        if (allElements.Count == 0)
        {
            Debug.Log(string.Format("当前文件夹中 [{0}] 不包含任何文件!", folder.AssetFilePath));
            return;
        }

        HashSet<string> filterStr = new HashSet<string>();

        for (int i = 0; i < allElements.Count; i++)
        {
            // ReSharper disable once SuspiciousTypeConversion.Global
            var elementData = allElements[i].ElementData as HierarchyListWindow.HierarchyElementData;
            if (elementData != null && !elementData.IsFolder)
            {

                InspectorElement elementPrefab = elementData.ElementData as InspectorElementPrefab;

                if (elementPrefab != null)
                {
                    if (elementPrefab.isIgnore == false)
                    {
                        var eledata = GetBundleBuildByElementPrefab((InspectorElementPrefab)elementPrefab);
                        for (int j = 0; j < eledata.Count; j++)
                        {
                            if (filterStr.Contains(eledata[j].assetBundleName) == false)
                            {
                                filterStr.Add(eledata[j].assetBundleName);
                                allBundle.Add(eledata[j]);
                            }
                        }
                    }
                    else
                    {
                        Debug.Log(string.Format("Ignore Asset File [{0}]!", elementPrefab.AssetFilePath));
                    }
                }
                //elementPrefab = ;
                
                //if (BundleDataManager.Instance.ResourcElements.TryGetValue(elementData.AssetFilePath, out elementPrefab))
                //{
                    
                //}
            }
        }


        BuildAssetBundles(Application.dataPath + "/../../Resources/TestBuildNew", ref allBundle);

        //string outputFile = Application.dataPath + "/../../Resources/TestBuildNew";
        //if (Directory.Exists(outputFile) == false)
        //    Directory.CreateDirectory(outputFile);

        //BuildPipeline.BuildAssetBundles(outputFile, allBundle.ToArray(), BuildAssetBundleOptions.None, BundleSetting.UnityBuildTarget);
        //Debug.Log(outputFile);
    }