示例#1
0
        public static string GetAssemblyNameWithoutExtension(string assemblyName)
        {
            if (AssetPath.GetExtension(assemblyName) == ".dll")
            {
                return(SystemPath.GetFileNameWithoutExtension(assemblyName.NormalizePath()));
            }

            return(SystemPath.GetFileName(assemblyName.NormalizePath()));
        }
示例#2
0
        public static string GetAssemblyNameWithoutExtension(string assemblyName)
        {
            string result;

            if (AssetPath.GetExtension(assemblyName) == ".dll")
            {
                result = Path.GetFileNameWithoutExtension(assemblyName.NormalizePath());
            }
            else
            {
                result = Path.GetFileName(assemblyName.NormalizePath());
            }
            return(result);
        }
示例#3
0
        internal static TargetAssembly GetPredefinedTargetAssembly(string scriptPath)
        {
            TargetAssembly resultAssembly = null;

            var extension        = AssetPath.GetExtension(scriptPath).Substring(1).ToLower();
            var lowerPath        = ("/" + scriptPath.ToLower()).ConvertSeparatorsToUnity();
            int highestPathDepth = -1;

            foreach (var assembly in predefinedTargetAssemblies)
            {
                if (extension != assembly.Language.GetExtensionICanCompile())
                {
                    continue;
                }

                var pathFilter = assembly.PathFilter;
                int pathDepth  = -1;

                if (pathFilter == null)
                {
                    pathDepth = 0;
                }
                else
                {
                    pathDepth = pathFilter(lowerPath);
                }

                if (pathDepth > highestPathDepth)
                {
                    resultAssembly   = assembly;
                    highestPathDepth = pathDepth;
                }
            }

            return(resultAssembly);
        }