Example #1
0
    public LateReferenceProcessor(IList <string> assetPaths)
    {
        var objSet = new HashSet <UnityEngine.Object>();

        AssetId.CurrentGenerator = obj => {
            string id = AssetId.DefaultGenerator(obj);

            if (!string.IsNullOrEmpty(id))
            {
                objSet.Add(obj);
            }

            return(id);
        };

        foreach (string assetPath in ScanningUtils.ItemsProcessor(assetPaths,
                                                                  "Scanning assets for late references",
                                                                  p => Path.GetFileName(p)))
        {
            var asset = AssetDatabase.LoadMainAssetAtPath(assetPath);
            ProcessObject(asset);
        }


        AssetId.CurrentGenerator = AssetId.DefaultGenerator;

        _referencedObjects = objSet.ToList();
    }