예제 #1
0
        public static void Rebuild(ABOperation operation)
        {
            if (operation == null)
            {
                m_Operation = new AssetDatabaseABOperation();
            }
            else
            {
                m_Operation = operation;
            }

            m_RootLevelBundles = new BundleFolderConcreteInfo("", null);
            m_MoveData         = new List <ABMoveData>();
            m_BundlesToUpdate  = new List <BundleInfo>();
            m_GlobalAssetList  = new Dictionary <string, AssetInfo>();
            Refresh();
        }
예제 #2
0
        public static void ForceReloadData(TreeView tree, ABOperation operation)
        {
            m_InErrorState = false;
            Rebuild(operation);
            tree.Reload();
            bool doneUpdating = m_BundlesToUpdate.Count == 0;

            EditorUtility.DisplayProgressBar("Updating Bundles", "", 0);
            int fullBundleCount = m_BundlesToUpdate.Count;

            while (!doneUpdating && !m_InErrorState)
            {
                int currCount = m_BundlesToUpdate.Count;
                EditorUtility.DisplayProgressBar("Updating Bundles", m_BundlesToUpdate[currCount - 1].displayName, (float)(fullBundleCount - currCount) / (float)fullBundleCount);
                doneUpdating = Update();
            }
            EditorUtility.ClearProgressBar();
        }