public void RemoveEditorReferences() { var defaultReferences = GetDefaultReferences(); foreach (var dRef in defaultReferences) { var file = new FileInfo(dRef); if (file.Name.Contains("Editor")) { ExcludedReferences.Add(dRef); } } }
public void AddUnityReferences() { var coreModuleLocation = new FileInfo(typeof(MonoBehaviour).Assembly.Location); var unityAssemblyFolder = coreModuleLocation.Directory; var managedFolder = unityAssemblyFolder.Parent; ExcludedReferences.Add(managedFolder.FullName + @"\UnityEngine.dll"); ExcludedReferences.Add(PathUtilities.ReplaceSlashes(managedFolder.FullName + @"\UnityEngine.dll")); foreach (var hkFile in unityAssemblyFolder.EnumerateFiles("*.dll", SearchOption.TopDirectoryOnly)) { if (hkFile.Name.Contains("UnityEngine")) { //Debug.Log("Adding File = " + hkFile.FullName); References.Add(PathUtilities.ReplaceSlashes(hkFile.FullName)); } } }
public IEnumerable <string> GetDefaultReferences() { var outputPath = BuildDirectory.FullName + FileName; AssemblyBuilder builder = new AssemblyBuilder(outputPath, Scripts.ToArray()); builder.additionalDefines = Defines.ToArray(); builder.additionalReferences = References.ToArray(); builder.buildTarget = Target; builder.buildTargetGroup = TargetGroup; builder.excludeReferences = ExcludedReferences.ToArray(); builder.flags = Flags; var defaultRefMethod = typeof(UnityEditor.AI.NavMeshBuilder).Assembly.GetType("UnityEditor.Scripting.ScriptCompilation.EditorCompilation").GetMethod("GetAssemblyBuilderDefaultReferences", new Type[] { typeof(UnityEditor.Compilation.AssemblyBuilder) }); var instance = typeof(UnityEditor.AI.NavMeshBuilder).Assembly.GetType("UnityEditor.Scripting.ScriptCompilation.EditorCompilationInterface").GetProperty("Instance").GetValue(null); var defaultReferences = (string[])defaultRefMethod.Invoke(instance, new object[] { builder }); for (int i = 0; i < defaultReferences.GetLength(0); i++) { yield return(defaultReferences[i]); } }