Пример #1
0
		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;
		}
Пример #2
0
		public void Load()
		{
			Definition = AssemblyDefinitionFile.Load(AssemblyDefinitionPath);
		}
Пример #3
0
		public void Save()
		{
			AssemblyDefinitionFile.Save(AssemblyDefinitionPath, Definition);
		}
Пример #4
0
 public static void Save(string path, AssemblyDefinitionFile asmDef)
 {
     File.WriteAllText(path, JsonUtility.ToJson(asmDef, true));
 }