Beispiel #1
0
        private static string[] GetReferences(UnityEditorInternal.AssemblyDefinitionAsset asset)
        {
            var data = UnityEngine.JsonUtility.FromJson <AsmDefAsset>(asset.text);
            var allAssembliesGUIDs = AssetDatabase.FindAssets("t:asmdef");

            if (data.references != null)
            {
                for (int i = 0; i < data.references.Length; ++i)
                {
                    if (data.references[i].StartsWith("GUID:") == true)
                    {
                        data.references[i] = data.references[i].Replace("GUID:", string.Empty);
                    }
                    else
                    {
                        foreach (var assemblyGUID in allAssembliesGUIDs)
                        {
                            var asmdefPath = AssetDatabase.GUIDToAssetPath(assemblyGUID);
                            var definition = AssetDatabase.LoadAssetAtPath <UnityEditorInternal.AssemblyDefinitionAsset>(asmdefPath);
                            var smdefData  = UnityEngine.JsonUtility.FromJson <AsmDefAsset>(definition.text);
                            if (smdefData.name == data.references[i])
                            {
                                data.references[i] = assemblyGUID;
                                break;
                            }
                        }
                    }
                }
            }
            return(data.references);
        }
Beispiel #2
0
        private static string[] GetReferences(UnityEditorInternal.AssemblyDefinitionAsset asset)
        {
            var data = UnityEngine.JsonUtility.FromJson <AsmDefAsset>(asset.text);

            if (data.references != null)
            {
                for (int i = 0; i < data.references.Length; ++i)
                {
                    data.references[i] = data.references[i].Replace("GUID:", string.Empty);
                }
            }

            return(data.references);
        }
 public static AssemblyDefinition Convert(this UnityEditorInternal.AssemblyDefinitionAsset that) => that;