public override string CalculateFinalPluginPath(string platformName, PluginImporter imp)
        {
            BuildTarget buildTargetByName = BuildPipeline.GetBuildTargetByName(platformName);
            bool        flag  = (buildTargetByName == BuildTarget.StandaloneWindows) || (buildTargetByName == BuildTarget.StandaloneWindows64);
            bool        flag2 = ((buildTargetByName == BuildTarget.StandaloneOSXIntel) || (buildTargetByName == BuildTarget.StandaloneOSXIntel64)) || (buildTargetByName == BuildTarget.StandaloneOSXUniversal);
            bool        flag3 = ((buildTargetByName == BuildTarget.StandaloneLinux) || (buildTargetByName == BuildTarget.StandaloneLinux64)) || (buildTargetByName == BuildTarget.StandaloneLinuxUniversal);

            if ((!flag3 && !flag2) && !flag)
            {
                throw new Exception($"Failed to resolve standalone platform, platform string '{platformName}', resolved target '{buildTargetByName.ToString()}'");
            }
            if (flag && !this.IsUsableOnWindows(imp))
            {
                return(string.Empty);
            }
            if (flag2 && !this.IsUsableOnOSX(imp))
            {
                return(string.Empty);
            }
            if (flag3 && !this.IsUsableOnLinux(imp))
            {
                return(string.Empty);
            }
            string platformData = imp.GetPlatformData(platformName, "CPU");

            if (string.Compare(platformData, "None", true) == 0)
            {
                return(string.Empty);
            }
            if (!string.IsNullOrEmpty(platformData) && (string.Compare(platformData, "AnyCPU", true) != 0))
            {
                return(Path.Combine(platformData, Path.GetFileName(imp.assetPath)));
            }
            return(Path.GetFileName(imp.assetPath));
        }
        public override string CalculateFinalPluginPath(string platformName, PluginImporter imp)
        {
            BuildTarget buildTargetByName = BuildPipeline.GetBuildTargetByName(platformName);
            bool        flag1             = buildTargetByName == BuildTarget.StandaloneWindows || buildTargetByName == BuildTarget.StandaloneWindows64;
            bool        flag2             = buildTargetByName == BuildTarget.StandaloneOSXIntel || buildTargetByName == BuildTarget.StandaloneOSXIntel64 || buildTargetByName == BuildTarget.StandaloneOSXUniversal;
            bool        flag3             = buildTargetByName == BuildTarget.StandaloneLinux || buildTargetByName == BuildTarget.StandaloneLinux64 || buildTargetByName == BuildTarget.StandaloneLinuxUniversal;

            if (!flag3 && !flag2 && !flag1)
            {
                throw new Exception(string.Format("Failed to resolve standalone platform, platform string '{0}', resolved target '{1}'", (object)platformName, (object)buildTargetByName.ToString()));
            }
            if (flag1 && !this.IsUsableOnWindows(imp) || flag2 && !this.IsUsableOnOSX(imp) || flag3 && !this.IsUsableOnLinux(imp))
            {
                return(string.Empty);
            }
            string platformData = imp.GetPlatformData(platformName, "CPU");

            if (string.Compare(platformData, "None", true) == 0)
            {
                return(string.Empty);
            }
            if (!string.IsNullOrEmpty(platformData) && string.Compare(platformData, "AnyCPU", true) != 0)
            {
                return(Path.Combine(platformData, Path.GetFileName(imp.assetPath)));
            }
            return(Path.GetFileName(imp.assetPath));
        }
 public override string CalculateFinalPluginPath(string platformName, PluginImporter imp)
 {
     BuildTarget buildTargetByName = BuildPipeline.GetBuildTargetByName(platformName);
     bool flag = (buildTargetByName == BuildTarget.StandaloneWindows) || (buildTargetByName == BuildTarget.StandaloneWindows64);
     bool flag2 = ((buildTargetByName == BuildTarget.StandaloneOSXIntel) || (buildTargetByName == BuildTarget.StandaloneOSXIntel64)) || (buildTargetByName == BuildTarget.StandaloneOSXUniversal);
     bool flag3 = ((buildTargetByName == BuildTarget.StandaloneLinux) || (buildTargetByName == BuildTarget.StandaloneLinux64)) || (buildTargetByName == BuildTarget.StandaloneLinuxUniversal);
     if ((!flag3 && !flag2) && !flag)
     {
         throw new Exception(string.Format("Failed to resolve standalone platform, platform string '{0}', resolved target '{1}'", platformName, buildTargetByName.ToString()));
     }
     if (flag && !this.IsUsableOnWindows(imp))
     {
         return string.Empty;
     }
     if (flag2 && !this.IsUsableOnOSX(imp))
     {
         return string.Empty;
     }
     if (flag3 && !this.IsUsableOnLinux(imp))
     {
         return string.Empty;
     }
     string platformData = imp.GetPlatformData(platformName, "CPU");
     if (string.Compare(platformData, "None", true) == 0)
     {
         return string.Empty;
     }
     if (!string.IsNullOrEmpty(platformData) && (string.Compare(platformData, "AnyCPU", true) != 0))
     {
         return Path.Combine(platformData, Path.GetFileName(imp.assetPath));
     }
     return Path.GetFileName(imp.assetPath);
 }
예제 #4
0
        public override string CalculateFinalPluginPath(string platformName, PluginImporter imp)
        {
            BuildTarget target           = BuildPipeline.GetBuildTargetByName(platformName);
            bool        pluginForWindows = target == BuildTarget.StandaloneWindows || target == BuildTarget.StandaloneWindows64;

#pragma warning disable 612, 618
            bool pluginForOSX   = target == BuildTarget.StandaloneOSXIntel || target == BuildTarget.StandaloneOSXIntel64 || target == BuildTarget.StandaloneOSX;
            bool pluginForLinux = target == BuildTarget.StandaloneLinux || target == BuildTarget.StandaloneLinux64 || target == BuildTarget.StandaloneLinuxUniversal || target == BuildTarget.CloudRendering;
#pragma warning restore 612, 618

            if (!pluginForLinux && !pluginForOSX && !pluginForWindows)
            {
                throw new Exception(string.Format("Failed to resolve standalone platform, platform string '{0}', resolved target '{1}'",
                                                  platformName, target.ToString()));
            }

            if (pluginForWindows && !IsUsableOnWindows(imp))
            {
                return(string.Empty);
            }
            if (pluginForOSX && !IsUsableOnOSX(imp))
            {
                return(string.Empty);
            }
            if (pluginForLinux && !IsUsableOnLinux(imp))
            {
                return(string.Empty);
            }

            string cpu = imp.GetPlatformData(platformName, "CPU");

            if (string.Compare(cpu, "None", true) == 0)
            {
                return(string.Empty);
            }

            if (pluginForWindows)
            {
                // Fix case 1185926: plugins for x86_64 are supposed to be copied to Plugins/x86_64
                // Plugins for x86 are supposed to be copied to Plugins/x86
                var cpuName = target == BuildTarget.StandaloneWindows ? nameof(DesktopPluginCPUArchitecture.x86) : nameof(DesktopPluginCPUArchitecture.x86_64);
                return(Path.Combine(cpuName, Path.GetFileName(imp.assetPath)));
            }

            if (pluginForOSX)
            {
                // Add the correct architecture if not AnyCPU
                return(base.CalculateFinalPluginPath(platformName, imp));
            }

            // For files this will return filename, for directories, this will return last path component
            return(Path.GetFileName(imp.assetPath));
        }
        public override string CalculateFinalPluginPath(string platformName, PluginImporter imp)
        {
            string platformData = imp.GetPlatformData(platformName, "CPU");

            if (string.Compare(platformData, "None", true) == 0)
            {
                return(string.Empty);
            }
            if (!string.IsNullOrEmpty(platformData) && string.Compare(platformData, "AnyCPU", true) != 0)
            {
                return(Path.Combine(platformData, Path.GetFileName(imp.assetPath)));
            }
            return(Path.GetFileName(imp.assetPath));
        }
예제 #6
0
        public override string CalculateFinalPluginPath(string platformName, PluginImporter imp)
        {
            BuildTarget target           = BuildPipeline.GetBuildTargetByName(platformName);
            bool        pluginForWindows = target == BuildTarget.StandaloneWindows || target == BuildTarget.StandaloneWindows64;

#pragma warning disable 612, 618
            bool pluginForOSX = target == BuildTarget.StandaloneOSXIntel || target == BuildTarget.StandaloneOSXIntel64 || target == BuildTarget.StandaloneOSX;
#pragma warning restore 612, 618
            bool pluginForLinux = target == BuildTarget.StandaloneLinux || target == BuildTarget.StandaloneLinux64 || target == BuildTarget.StandaloneLinuxUniversal;

            if (!pluginForLinux && !pluginForOSX && !pluginForWindows)
            {
                throw new Exception(string.Format("Failed to resolve standalone platform, platform string '{0}', resolved target '{1}'",
                                                  platformName, target.ToString()));
            }

            if (pluginForWindows && !IsUsableOnWindows(imp))
            {
                return(string.Empty);
            }
            if (pluginForOSX && !IsUsableOnOSX(imp))
            {
                return(string.Empty);
            }
            if (pluginForLinux && !IsUsableOnLinux(imp))
            {
                return(string.Empty);
            }

            string cpu = imp.GetPlatformData(platformName, "CPU");

            if (string.Compare(cpu, "None", true) == 0)
            {
                return(string.Empty);
            }

            if (!string.IsNullOrEmpty(cpu) && string.Compare(cpu, "AnyCPU", true) != 0)
            {
                return(Path.Combine(cpu, Path.GetFileName(imp.assetPath)));
            }

            // For files this will return filename, for directories, this will return last path component
            return(Path.GetFileName(imp.assetPath));
        }
 private static bool IsSDK(PluginImporter imp, string sdk)
 {
     return (string.Compare(imp.GetPlatformData(platformName, Plugin.sdkTag), sdk) == 0);
 }
 private static bool IsCPUArchitecture(PluginImporter imp, string cpu)
 {
     return (string.Compare(imp.GetPlatformData(platformName, Plugin.cpuTag), cpu) == 0);
 }
		public override string CalculateFinalPluginPath(string platformName, PluginImporter imp)
		{
			string platformData = imp.GetPlatformData(platformName, "CPU");
			if (string.Compare(platformData, "None", true) == 0)
			{
				return string.Empty;
			}
			if (!string.IsNullOrEmpty(platformData) && string.Compare(platformData, "AnyCPU", true) != 0)
			{
				return Path.Combine(platformData, Path.GetFileName(imp.assetPath));
			}
			return Path.GetFileName(imp.assetPath);
		}
 public override string CalculateFinalPluginPath(string platformName, PluginImporter imp)
 {
   BuildTarget buildTargetByName = BuildPipeline.GetBuildTargetByName(platformName);
   bool flag1 = buildTargetByName == BuildTarget.StandaloneWindows || buildTargetByName == BuildTarget.StandaloneWindows64;
   bool flag2 = buildTargetByName == BuildTarget.StandaloneOSXIntel || buildTargetByName == BuildTarget.StandaloneOSXIntel64 || buildTargetByName == BuildTarget.StandaloneOSXUniversal;
   bool flag3 = buildTargetByName == BuildTarget.StandaloneLinux || buildTargetByName == BuildTarget.StandaloneLinux64 || buildTargetByName == BuildTarget.StandaloneLinuxUniversal;
   if (!flag3 && !flag2 && !flag1)
     throw new Exception(string.Format("Failed to resolve standalone platform, platform string '{0}', resolved target '{1}'", (object) platformName, (object) buildTargetByName.ToString()));
   if (flag1 && !this.IsUsableOnWindows(imp) || flag2 && !this.IsUsableOnOSX(imp) || flag3 && !this.IsUsableOnLinux(imp))
     return string.Empty;
   string platformData = imp.GetPlatformData(platformName, "CPU");
   if (string.Compare(platformData, "None", true) == 0)
     return string.Empty;
   if (!string.IsNullOrEmpty(platformData) && string.Compare(platformData, "AnyCPU", true) != 0)
     return Path.Combine(platformData, Path.GetFileName(imp.assetPath));
   return Path.GetFileName(imp.assetPath);
 }
 public PluginInfo(string buildTargetName, PluginImporter plugin)
 {
     this.assetPath = plugin.assetPath;
     this.assetName = Path.GetFileName(plugin.assetPath);
     this.cpuType = plugin.GetPlatformData(buildTargetName, AndroidPluginImporterExtension.cpuTag);
 }
 public PluginInfo(string buildTargetName, PluginImporter plugin)
 {
     this.assetPath = plugin.assetPath;
     this.assetName = Path.GetFileName(plugin.assetPath);
     this.cpuType   = plugin.GetPlatformData(buildTargetName, AndroidPluginImporterExtension.cpuTag);
 }
예제 #13
0
 private void UpgradePluginCPU(PluginImporter plugin, BuildTarget buildTarget)
 {
     string extension = Path.GetExtension(plugin.assetPath);
     string platformData = plugin.GetPlatformData(buildTarget, "CPU");
     if ((extension == ".so") && (platformData == "AnyCPU"))
     {
         plugin.SetPlatformData(buildTarget, "CPU", "ARMv7");
     }
 }