public static List<AssemblyInformation> GetProjectScriptInfo() { List<AssemblyInformation> AssemblyInfo = new List<AssemblyInformation>(); AssemblyInfo = new List<AssemblyInformation>(); foreach (var pair in AssemblyDefinitionFile.GetAllDefinitionsInFolder("Assets")) { AssemblyInfo.Add(new AssemblyInformation { AssemblyName = pair.Value.name, AssemblyDefinitionPath = pair.Key, AssemblyGUID = AssetDatabase.AssetPathToGUID(pair.Key).ToString(), Definition = pair.Value, ScriptPaths = new List<string>() }); } AssemblyInfo.Add(new AssemblyInformation { Definition = null, AssemblyDefinitionPath = "", AssemblyGUID = "", AssemblyName = "Assembly-CSharp", ScriptPaths = new List<string>() }); AssemblyInfo.Add(new AssemblyInformation { Definition = null, AssemblyDefinitionPath = "", AssemblyGUID = "", AssemblyName = "Assembly-CSharp-Editor", ScriptPaths = new List<string>() }); var scriptIDs = AssetDatabase.FindAssets("t:MonoScript", new string[] { "Assets" }); foreach (var id in scriptIDs) { var path = AssetDatabase.GUIDToAssetPath(id); var scriptAsset = AssetDatabase.LoadAssetAtPath<MonoScript>(path); var scriptAssembly = scriptAsset.GetScriptAssemblyName().Replace(".dll", ""); AssemblyInfo.First(asmInfo => asmInfo.AssemblyName == scriptAssembly).ScriptPaths.Add(path); } return AssemblyInfo; }
public void Load() { Definition = AssemblyDefinitionFile.Load(AssemblyDefinitionPath); }
public void Save() { AssemblyDefinitionFile.Save(AssemblyDefinitionPath, Definition); }
public static void Save(string path, AssemblyDefinitionFile asmDef) { File.WriteAllText(path, JsonUtility.ToJson(asmDef, true)); }