Example #1
0
        public void RemoveEditorReferences()
        {
            var defaultReferences = GetDefaultReferences();

            foreach (var dRef in defaultReferences)
            {
                var file = new FileInfo(dRef);
                if (file.Name.Contains("Editor"))
                {
                    ExcludedReferences.Add(dRef);
                }
            }
        }
Example #2
0
        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));
                }
            }
        }
Example #3
0
        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]);
            }
        }