Esempio n. 1
0
        private static void ProcessAsset(AssetInfo asset, string assetName, int assetIndex, int totalAssets)
        {
            currentObjectIndex = 0;

            itemIndex  = assetIndex;
            totalItems = totalAssets;

            var assetType = asset.Type;

            if (asset.Kind == AssetKind.Settings)
            {
                IssuesDetector.ProcessSettingsAsset(asset);
            }
            else
            {
                if (assetType == null)
                {
                    if (CSAssetTools.IsAssetScriptableObjectWithMissingScript(asset.Path))
                    {
                        IssuesDetector.ProcessScriptableObject(asset, null);
                    }
                }
                else if (assetType.BaseType == CSReflectionTools.scriptableObjectType)
                {
                    var scriptableObject = AssetDatabase.LoadMainAssetAtPath(asset.Path);
                    IssuesDetector.ProcessScriptableObject(asset, scriptableObject);
                }
#if UNITY_2019_1_OR_NEWER
                else if (assetType == CSReflectionTools.shaderType)
                {
                    var shader = AssetDatabase.LoadAssetAtPath <Shader>(asset.Path);
                    IssuesDetector.ProcessShader(asset, shader);
                }
#endif
            }
        }