/// <summary>
        /// Sets the plugins.
        /// </summary>
        /// <param name="files">Files.</param>
        /// <param name="editorSettings">Editor settings.</param>
        /// <param name="settings">Settings.</param>
        static void SetPlugins(string[] files, Dictionary <string, string> editorSettings, Dictionary <BuildTarget, Dictionary <string, string> > settings)
        {
            if (files == null)
            {
                return;
            }

            foreach (string item in files)
            {
                PluginImporter pluginImporter = PluginImporter.GetAtPath(item) as PluginImporter;

                if (pluginImporter != null)
                {
                    pluginImporter.SetCompatibleWithAnyPlatform(false);
                    pluginImporter.SetCompatibleWithEditor(false);


                    if (editorSettings != null)
                    {
                        pluginImporter.SetCompatibleWithEditor(true);

                        foreach (KeyValuePair <string, string> pair in editorSettings)
                        {
                            pluginImporter.SetEditorData(pair.Key, pair.Value);
                        }
                    }

                    if (settings != null)
                    {
                        foreach (KeyValuePair <BuildTarget, Dictionary <string, string> > settingPair in settings)
                        {
                            pluginImporter.SetCompatibleWithPlatform(settingPair.Key, true);
                            if (settingPair.Value != null)
                            {
                                foreach (KeyValuePair <string, string> pair in settingPair.Value)
                                {
                                    pluginImporter.SetPlatformData(settingPair.Key, pair.Key, pair.Value);
                                }
                            }
                        }
                    }
                    else
                    {
                        foreach (BuildTarget target in Enum.GetValues(typeof(BuildTarget)))
                        {
                            pluginImporter.SetCompatibleWithPlatform(target, false);
                        }
                    }


                    pluginImporter.SaveAndReimport();

                    Debug.Log("SetPluginImportSettings Success :" + item);
                }
                else
                {
                    Debug.LogWarning("SetPluginImportSettings Faild :" + item);
                }
            }
        }
    static bool ResetPluginSettings(PluginImporter plugin, string CPU, string OS)
    {
        bool didUpdate = false;

        if (plugin.GetCompatibleWithAnyPlatform() != false)
        {
            plugin.SetCompatibleWithAnyPlatform(false);
            didUpdate = true;
        }

        if (plugin.GetCompatibleWithEditor() != true)
        {
            plugin.SetCompatibleWithEditor(true);
            didUpdate = true;
        }

        if (plugin.GetEditorData("CPU") != CPU)
        {
            plugin.SetEditorData("CPU", CPU);
            didUpdate = true;
        }

        if (plugin.GetEditorData("OS") != OS)
        {
            plugin.SetEditorData("OS", OS);
            didUpdate = true;
        }

        return(didUpdate);
    }
        public static void ConfigurePluginPlatforms()
        {
            PluginImporter[] importers     = PluginImporter.GetAllImporters();
            PluginImporter   iOSPlugin     = null;
            PluginImporter   androidPlugin = null;

            foreach (PluginImporter importer in importers)
            {
                if (importer.assetPath.Contains(AudienceNetworkFramework))
                {
                    iOSPlugin = importer;
                    Debug.Log("Audience Network iOS plugin found at " + importer.assetPath + ".");
                }
                else if (importer.assetPath.Contains(AudienceNetworkAAR))
                {
                    androidPlugin = importer;
                    Debug.Log("Audience Network Android plugin found at " + importer.assetPath + ".");
                }
            }
            if (iOSPlugin != null)
            {
                iOSPlugin.SetCompatibleWithAnyPlatform(false);
                iOSPlugin.SetCompatibleWithEditor(false);
                iOSPlugin.SetCompatibleWithPlatform(BuildTarget.iOS, true);
                iOSPlugin.SetPlatformData(BuildTarget.iOS, FrameworkDependenciesKey, RequiredFrameworks);
                iOSPlugin.SaveAndReimport();
            }
            if (androidPlugin != null)
            {
                androidPlugin.SetCompatibleWithAnyPlatform(false);
                androidPlugin.SetCompatibleWithEditor(false);
                androidPlugin.SetCompatibleWithPlatform(BuildTarget.Android, true);
                androidPlugin.SaveAndReimport();
            }
        }
Esempio n. 4
0
        public override void PostBuild(NativePlugin plugin, NativeBuildOptions buildOptions)
        {
            base.PostBuild(plugin, buildOptions);

            string assetFile = CombinePath(
                AssetDatabase.GetAssetPath(plugin.pluginBinaryFolder),
                "Linux",
                buildOptions.Architecture.ToString(),
                string.Format("lib{0}.so", plugin.Name));

            PluginImporter pluginImporter = PluginImporter.GetAtPath((assetFile)) as PluginImporter;

            if (pluginImporter != null)
            {
                SetPluginBaseInfo(plugin, buildOptions, pluginImporter);

                pluginImporter.SetCompatibleWithAnyPlatform(false);
                pluginImporter.SetCompatibleWithEditor(true);
                pluginImporter.SetEditorData("OS", "Linux");
                pluginImporter.SetEditorData("CPU", buildOptions.Architecture.ToString());
                if (buildOptions.Architecture == Architecture.x86)
                {
                    pluginImporter.SetCompatibleWithPlatform(BuildTarget.StandaloneLinux, true);
                }
                else
                {
                    pluginImporter.SetCompatibleWithPlatform(BuildTarget.StandaloneLinux64, true);
                }

                pluginImporter.SaveAndReimport();
            }
        }
Esempio n. 5
0
	static void OnPostprocessAllAssets ( string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths ) 
	{
#if false //UNITY_5_0
		foreach ( string asset in importedAssets )
		{
			if ( asset.ToLower() == "assets/plugins/x86/oculusplugin.dll" || asset.ToLower() == "assets/plugins/x86_64/oculusplugin.dll" ) 
			{
				Debug.Log( "[OVRImportProcessor] Updating plugin compatibility: "  + asset );
				PluginImporter pluginImporter =  PluginImporter.GetAtPath( asset ) as PluginImporter;
				if ( pluginImporter != null ) 
				{
					bool x86_64 = asset.Contains( "x86_64" ); 
					pluginImporter.SetCompatibleWithEditor( true );
					pluginImporter.SetCompatibleWithAnyPlatform( false );
					pluginImporter.SetEditorData( "OS", "Windows" );
					if ( x86_64 ) 
					{
						pluginImporter.SetCompatibleWithPlatform( BuildTarget.StandaloneWindows, false );
						pluginImporter.SetCompatibleWithPlatform( BuildTarget.StandaloneWindows64, true );
					} 
					else 
					{
						pluginImporter.SetCompatibleWithPlatform( BuildTarget.StandaloneWindows64, false );
						pluginImporter.SetCompatibleWithPlatform( BuildTarget.StandaloneWindows, true );
					}
				}
				AssetDatabase.WriteImportSettingsIfDirty( asset );
			}
		}
#endif
	}
        public static void EnforcePluginPlatformSettings(PluginPlatform platform)
        {
            string path = GetPlatformPluginPath(platform);

            if (!Directory.Exists(path) && !File.Exists(path))
            {
                path += PluginDisabledSuffix;
            }

            if ((Directory.Exists(path)) || (File.Exists(path)))
            {
                string basePath = GetCurrentProjectPath();
                string relPath  = path.Substring(basePath.Length + 1);

                PluginImporter pi = PluginImporter.GetAtPath(relPath) as PluginImporter;
                if (pi == null)
                {
                    return;
                }

                // Disable support for all platforms, then conditionally enable desired support below
                pi.SetCompatibleWithEditor(false);
                pi.SetCompatibleWithAnyPlatform(false);
                pi.SetCompatibleWithPlatform(BuildTarget.Android, false);
                pi.SetCompatibleWithPlatform(BuildTarget.StandaloneWindows, false);
                pi.SetCompatibleWithPlatform(BuildTarget.StandaloneWindows64, false);
                pi.SetCompatibleWithPlatform(BuildTarget.StandaloneLinux, false);
                pi.SetCompatibleWithPlatform(BuildTarget.StandaloneLinux64, false);
                pi.SetCompatibleWithPlatform(BuildTarget.StandaloneLinuxUniversal, false);
#if UNITY_2017_3_OR_NEWER
                pi.SetCompatibleWithPlatform(BuildTarget.StandaloneOSX, false);
#else
                pi.SetCompatibleWithPlatform(BuildTarget.StandaloneOSXUniversal, false);
                pi.SetCompatibleWithPlatform(BuildTarget.StandaloneOSXIntel, false);
                pi.SetCompatibleWithPlatform(BuildTarget.StandaloneOSXIntel64, false);
#endif

                switch (platform)
                {
                case PluginPlatform.Android32:
                    pi.SetCompatibleWithPlatform(BuildTarget.Android, true);
                    pi.SetPlatformData(BuildTarget.Android, "CPU", "ARMv7");
                    break;

                case PluginPlatform.Android64:
                    pi.SetCompatibleWithPlatform(BuildTarget.Android, true);
                    pi.SetPlatformData(BuildTarget.Android, "CPU", "ARM64");
                    break;

                default:
                    throw new ArgumentException("Attempted to enable platform support for unsupported platform: " + platform);
                }

                AssetDatabase.ImportAsset(relPath, ImportAssetOptions.ForceUpdate);
                AssetDatabase.SaveAssets();
                AssetDatabase.Refresh();
                AssetDatabase.SaveAssets();
            }
        }
 private static void SetCompatibleWithEditor(PluginImporter pluginImporter, bool enable)
 {
     if (pluginImporter.GetCompatibleWithEditor() != enable)
     {
         pluginImporter.SetCompatibleWithEditor(enable);
         mHasAtLeastOneLibraryBeenModified = true;
     }
 }
        static void FixPlayMakerDllSettings(PluginImporter pluginImporter)
        {
            LogChange("Fixed Plugin Settings: " + pluginImporter.assetPath);

            pluginImporter.SetCompatibleWithAnyPlatform(false);
            pluginImporter.SetCompatibleWithEditor(true);
            SetCompatiblePlatforms(pluginImporter, standardPlatforms);
            AssetDatabase.Refresh();
        }
        internal bool UpdateCompatibleWithEditor(PluginImporter pluginImporter)
        {
            if (CompatibleWithEditor != pluginImporter.GetCompatibleWithEditor())
            {
                pluginImporter.SetCompatibleWithEditor(CompatibleWithEditor);
                return(true);
            }

            return(false);
        }
Esempio n. 10
0
    static void ResetPluginSettings(PluginImporter plugin, string CPU, string OS)
    {
#if UNITY_5_5_OR_NEWER
        plugin.ClearSettings();
#endif
        plugin.SetCompatibleWithAnyPlatform(false);
        plugin.SetCompatibleWithEditor(true);
        plugin.SetEditorData("CPU", CPU);
        plugin.SetEditorData("OS", OS);
    }
Esempio n. 11
0
 private static void ClearAllPlatforms(PluginImporter plugin)
 {
     plugin.SetCompatibleWithEditor(false);
     plugin.SetCompatibleWithAnyPlatform(false);
     Enum.GetValues(typeof(BuildTarget))
     .Cast <BuildTarget>()
     .Where(target => !IsObsolete(target))
     .Where(target => (int)target != -2)
     .ToList()
     .ForEach(target => plugin.SetCompatibleWithPlatform(target, false));
 }
        /// <summary>
        /// Enable the editor plugin at the specified path.
        /// </summary>
        private static void EnableEditorPlugin(string path)
        {
            PluginImporter importer = AssetImporter.GetAtPath(path) as PluginImporter;

            if (importer == null)
            {
                UnityEngine.Debug.Log(String.Format("Failed to enable editor plugin {0}", path));
                return;
            }
            importer.SetCompatibleWithEditor(true);
            AssetDatabase.ImportAsset(path, ImportAssetOptions.ForceUpdate);
        }
 public static void IgnoreAssembly(PluginImporter Target, bool _ignore)
 {
     Debug.LogFormat("{0}gnoring {1} assembly!", _ignore ? "I" : "Dei", me.fileName);
     if (Target == null)
     {
         return;
     }
     Target.SetCompatibleWithAnyPlatform(!_ignore);
     Target.SetCompatibleWithEditor(!_ignore);
     AssetDatabase.Refresh(ImportAssetOptions.ForceUpdate); // WIP: This doesn't actually works, scripts have to be reloaded manually
     DLLManager.SetBool(me.fileName, _ignore);
 }
Esempio n. 14
0
        private static void SetPluginEnabled(string pluginPath, bool enabled)
        {
            PluginImporter pluginImporter = AssetImporter.GetAtPath(pluginPath) as PluginImporter;

            if (pluginImporter.GetCompatibleWithEditor() == enabled)
            {
                return;
            }

            pluginImporter.SetCompatibleWithEditor(enabled);
            pluginImporter.SaveAndReimport();
        }
Esempio n. 15
0
    static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths)
    {
                #if UNITY_4_1 || UNITY_4_2 || UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_4_7 || UNITY_5_5 || UNITY_5_4
        foreach (string importedAsset in importedAssets)
        {
            if (importedAsset.Equals(importedAssets[importedAssets.Length - 1]))
            {
                if (Directory.Exists(Utils.FixSlashesInPath("Assets/Plugins/Android/appodeal/assets")) && !Directory.Exists(Utils.FixSlashesInPath("Assets/Plugins/Android/assets")))
                {
                    if (EditorUtility.DisplayDialog("Appodeal Unity", "We have detected that you're using Unity" + Application.unityVersion + " and it can't compile android assets from library folder so Assets/Plugins/Android/appodeal/assets folder should be moved into Android folder.", "Move it for me", "Leave it there"))
                    {
                        Directory.Move(Utils.FixSlashesInPath("Assets/Plugins/Android/appodeal/assets"), Utils.FixSlashesInPath("Assets/Plugins/Android/assets"));
                        reimportFolder(Utils.FixSlashesInPath("Assets/Plugins/Android/assets"));
                        reimportFolder(Utils.FixSlashesInPath("Assets/Plugins/Android/appodeal"));
                    }
                }
            }
        }
                #endif

                #if UNITY_4_1 || UNITY_4_2 || UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_4_7
        if (File.Exists(Utils.FixSlashesInPath("Assets/Appodeal/SampleAndroidManifest.xml")) && !File.Exists(Utils.FixSlashesInPath("Assets/Plugins/Android/AndroidManifest.xml")))
        {
            FileUtil.CopyFileOrDirectory(Utils.FixSlashesInPath("Assets/Appodeal/SampleAndroidManifest.xml"), Utils.FixSlashesInPath("Assets/Plugins/Android/AndroidManifest.xml"));
        }
                #endif

                #if UNITY_5_5 || UNITY_5_4
        foreach (string plugin in Plugins)
        {
            string fullpath = Utils.FixSlashesInPath("Assets/Plugins/Android/" + plugin);
            if (File.Exists(fullpath))
            {
                PluginImporter pluginImporter = AssetImporter.GetAtPath(fullpath) as PluginImporter;
                if (!pluginImporter.GetCompatibleWithPlatform(BuildTarget.Android))
                {
                    pluginImporter.SetCompatibleWithPlatform(BuildTarget.Android, true);
                }
            }
        }

        string path = Utils.FixSlashesInPath("Assets/Plugins/Ionic.Zip.Unity.dll");
        if (File.Exists(path))
        {
            PluginImporter ionicPluginImporter = AssetImporter.GetAtPath(path) as PluginImporter;
            if (!ionicPluginImporter.GetCompatibleWithEditor())
            {
                ionicPluginImporter.SetCompatibleWithEditor(true);
            }
        }
                #endif
    }
 private static void AddToStandaloneAndEditorPlatforms(PluginImporter pluginImporter, List <BuildTarget> buildTargets, bool addToEditor)
 {
     foreach (var buildTarget in buildTargets)
     {
         Debug.LogFormat("TriLib: Adding '{0}' to '{1}' Platform.", pluginImporter.assetPath, buildTarget);
         pluginImporter.SetCompatibleWithPlatform(buildTarget, true);
     }
     if (addToEditor)
     {
         Debug.LogFormat("TriLib: Adding '{0}' to Editor.", pluginImporter.assetPath);
         pluginImporter.SetCompatibleWithEditor(true);
     }
 }
Esempio n. 17
0
 private static void FixLocalizedResources()
 {
     Debug.Log("Fix Localized Resources");
     string[] files = Directory.GetFiles(Application.get_dataPath(), "PlayMakerEditorResources.resources.dll", 1);
     string[] array = files;
     for (int i = 0; i < array.Length; i++)
     {
         string         text           = array[i];
         PluginImporter pluginImporter = PackageExporter.GetPluginImporter(text.Substring(Application.get_dataPath().get_Length() - 6));
         pluginImporter.SetCompatibleWithEditor(false);
         pluginImporter.SaveAndReimport();
     }
 }
Esempio n. 18
0
 private static void SetPluginCompatibleEditor(string path, bool enable)
 {
     if (File.Exists(path) == true || Directory.Exists(path) == true)
     {
         PluginImporter pluginImporter = PluginImporter.GetAtPath(path) as PluginImporter;
         if (pluginImporter != null)
         {
             pluginImporter.SetCompatibleWithAnyPlatform(false);
             if (pluginImporter.GetCompatibleWithEditor() != enable)
             {
                 pluginImporter.SetCompatibleWithEditor(enable);
                 pluginImporter.SaveAndReimport();
             }
         }
     }
 }
Esempio n. 19
0
        private void CheckWSADllPlatforms()
        {
#if !UNITY_4 && !UNITY_5_0 && !UNITY_5_1 && !UNITY_5_2
            string pluginPath = "Assets/Plugins/UTNotifications.dll";

            PluginImporter pluginImporter = ((PluginImporter)AssetImporter.GetAtPath(pluginPath));
            if (pluginImporter.GetCompatibleWithAnyPlatform() || pluginImporter.GetCompatibleWithPlatform(BuildTarget.WSAPlayer))
            {
                pluginImporter.SetCompatibleWithAnyPlatform(false);
                pluginImporter.SetCompatibleWithPlatform(BuildTarget.WSAPlayer, false);
                pluginImporter.SetCompatibleWithEditor(true);
                pluginImporter.SaveAndReimport();
                AssetDatabase.ImportAsset(pluginPath);
            }
#endif
        }
Esempio n. 20
0
    static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths)
    {
                #if UNITY_4 && UNITY_IPHONE
        if (PlayerSettings.apiCompatibilityLevel.Equals(ApiCompatibilityLevel.NET_2_0_Subset))
        {
            if (EditorUtility.DisplayDialog("Appodeal Unity", "We have detected that you're using subset API compatibility level: " + PlayerSettings.apiCompatibilityLevel + " you should change it to NET_2_0 to be able using Ionic.ZIP.dll.", "Change it for me", "I'll do it"))
            {
                PlayerSettings.apiCompatibilityLevel = ApiCompatibilityLevel.NET_2_0;
            }
        }
                #endif

                #if UNITY_4
        if (File.Exists(Utils.FixSlashesInPath("Assets/Appodeal/SampleAndroidManifest.xml")) && !File.Exists(Utils.FixSlashesInPath("Assets/Plugins/Android/AndroidManifest.xml")) && moveManifest)
        {
            if (EditorUtility.DisplayDialog("Appodeal Unity", "We have detected that you have no AndroidManifest.xml inside Android folder, it should override Unity's settings to fix not clickable ads", "Place template for me", "Don't do that!"))
            {
                FileUtil.CopyFileOrDirectory(Utils.FixSlashesInPath("Assets/Appodeal/SampleAndroidManifest.xml"), Utils.FixSlashesInPath("Assets/Plugins/Android/AndroidManifest.xml"));
            }
        }
                #endif

                #if UNITY_5
        foreach (string plugin in Plugins)
        {
            string fullpath = Utils.FixSlashesInPath("Assets/Plugins/Android/" + plugin);
            if (File.Exists(fullpath))
            {
                PluginImporter pluginImporter = AssetImporter.GetAtPath(fullpath) as PluginImporter;
                if (!pluginImporter.GetCompatibleWithPlatform(BuildTarget.Android))
                {
                    pluginImporter.SetCompatibleWithPlatform(BuildTarget.Android, true);
                }
            }
        }

        string path = Utils.FixSlashesInPath("Assets/Plugins/Ionic.Zip.Unity.dll");
        if (File.Exists(path))
        {
            PluginImporter ionicPluginImporter = AssetImporter.GetAtPath(path) as PluginImporter;
            if (!ionicPluginImporter.GetCompatibleWithEditor())
            {
                ionicPluginImporter.SetCompatibleWithEditor(true);
            }
        }
                #endif
    }
Esempio n. 21
0
    public static void SwitchCompatibleWithPlatform(PluginImporter plugin, bool value)
    {
        if (value)
        {
            Debug.Log("Platform " + EditorUserBuildSettings.activeBuildTarget + ". Switch Nuitrack dll to " + plugin.assetPath);
        }

        plugin.SetCompatibleWithAnyPlatform(false);
        plugin.SetCompatibleWithPlatform(BuildTarget.iOS, value);
        plugin.SetCompatibleWithPlatform(BuildTarget.Android, value);
        plugin.SetCompatibleWithPlatform(BuildTarget.StandaloneLinux, value);
        plugin.SetCompatibleWithPlatform(BuildTarget.StandaloneLinux64, value);
        plugin.SetCompatibleWithPlatform(BuildTarget.StandaloneOSX, value);
        plugin.SetCompatibleWithPlatform(BuildTarget.StandaloneWindows, value);
        plugin.SetCompatibleWithPlatform(BuildTarget.StandaloneWindows64, value);
        plugin.SetCompatibleWithEditor(value);
    }
Esempio n. 22
0
 private static void ToggleAssemblies(string path, string[] assemblies, bool enable)
 {
     foreach (var file in assemblies)
     {
         var            filepath = path + file;
         PluginImporter importer = AssetImporter.GetAtPath(filepath) as PluginImporter;
         if (importer == null)
         {
             Debug.LogFormat("GitHub for Unity: Could not find importer for {0}. Some functionality may fail.", filepath);
             continue;
         }
         if (importer.GetCompatibleWithEditor() != enable)
         {
             importer.SetCompatibleWithEditor(enable);
             importer.SaveAndReimport();
         }
     }
 }
Esempio n. 23
0
        private static void EnableIOSResolver()
        {
            string iosResolverPath = AssetDatabase.GUIDToAssetPath(_iosResolverGuid);

            if (iosResolverPath == null)
            {
                Debug.LogError("ARCoreExtensions: Could not locate Google.IOSResolver plugin.");
                return;
            }

            PluginImporter pluginImporter =
                AssetImporter.GetAtPath(iosResolverPath) as PluginImporter;

            if (!pluginImporter.GetCompatibleWithEditor())
            {
                pluginImporter.SetCompatibleWithEditor(true);
            }
        }
Esempio n. 24
0
        /**
         * @brief   プラグインのUnityEditor上でのターゲットプラットフォーム別設定の実行.
         * @param   plugin                  対象となるプラグイン.
         * @param   cpuType                 対象となるプラグインのサポートCPUタイプ("AnyCPU", "X86", "X86_64" のうちのどれか).
         * @param   osType                  対象となるプラグインのサポートOSタイプ("AnyOS", "OSX", "Windows", "Linux" のうちのどれか).
         */
        static void SettingPlatformWithEditor(PluginImporter plugin, string osType = "AnyOS", string cpuType = "AnyCPU")
        {
            // UnityEditorでの有効化設定
            plugin.SetCompatibleWithEditor(true);

            // CPUタイプの設定
            if (cpuType.Length > 0)
            {
                plugin.SetEditorData("CPU", cpuType);
                plugin.SetPlatformData("Editor", "CPU", cpuType);
            }

            // OSタイプの設定
            if (osType.Length > 0)
            {
                plugin.SetEditorData("OS", osType);
                plugin.SetPlatformData("Editor", "OS", osType);
            }
        }
Esempio n. 25
0
        private static bool SetDLLCompatibility(string pathToDLL, BuildTarget[] supportedBuildTargets, bool isCompatibleWithEditor)
        {
            if (HasCompatibility(pathToDLL, supportedBuildTargets, isCompatibleWithEditor))
            {
                return(false);
            }

            PluginImporter pluginImporter = (PluginImporter)AssetImporter.GetAtPath(pathToDLL);

            pluginImporter.SetCompatibleWithAnyPlatform(false);
            pluginImporter.SetCompatibleWithEditor(isCompatibleWithEditor);
            foreach (BuildTarget buildTarget in supportedBuildTargets)
            {
                pluginImporter.SetCompatibleWithPlatform(buildTarget, true);
            }

            pluginImporter.SaveAndReimport();

            return(true);
        }
        /// <summary>
        /// Enable a dependency resolver.
        /// </summary>
        /// <param name="resolverName">Resolver plugin's filename.</param>
        public static void EnableDependencyResolver(string resolverName)
        {
            string resolverPath = null;

            string[] guids = AssetDatabase.FindAssets(resolverName);
            foreach (var guid in guids)
            {
                string path = AssetDatabase.GUIDToAssetPath(guid);

                if (path.EndsWith(".dll"))
                {
                    if (resolverPath != null)
                    {
                        Debug.LogErrorFormat("ARCoreExtensions: " +
                                             "There are multiple {0} plugins detected. " +
                                             "One is {1}, another is {2}. Please remove one of them.",
                                             resolverName, resolverPath, path);
                        return;
                    }

                    resolverPath = path;
                }
            }

            if (resolverPath == null)
            {
                Debug.LogErrorFormat(
                    "ARCoreExtensions: Could not locate {0} plugin.", resolverName);
                return;
            }

            PluginImporter pluginImporter =
                AssetImporter.GetAtPath(resolverPath) as PluginImporter;

            if (!pluginImporter.GetCompatibleWithEditor())
            {
                pluginImporter.SetCompatibleWithEditor(true);
            }
        }
        private static void EnableJarResolver()
        {
            string jarResolverPath = null;

            string[] guids = AssetDatabase.FindAssets("Google.JarResolver");
            foreach (var guid in guids)
            {
                string path = AssetDatabase.GUIDToAssetPath(guid);

                if (path.EndsWith(".dll"))
                {
                    if (jarResolverPath != null)
                    {
                        Debug.LogErrorFormat("ARCoreExtensions: " +
                                             "There are multiple Google.JarResolver plugins detected. " +
                                             "One is {0}, another is {1}. Please remove one of them.",
                                             jarResolverPath, path);
                        return;
                    }

                    jarResolverPath = path;
                }
            }

            if (jarResolverPath == null)
            {
                Debug.LogError("ARCoreExtensions: Could not locate Google.JarResolver plugin.");
                return;
            }

            PluginImporter pluginImporter =
                AssetImporter.GetAtPath(jarResolverPath) as PluginImporter;

            if (!pluginImporter.GetCompatibleWithEditor())
            {
                pluginImporter.SetCompatibleWithEditor(true);
            }
        }
Esempio n. 28
0
        public override void PostBuild(NativePlugin plugin, NativeBuildOptions buildOptions)
        {
            base.PostBuild(plugin, buildOptions);

            string assetFile = CombinePath(
                AssetDatabase.GetAssetPath(plugin.pluginBinaryFolder),
                "OSX",
                string.Format("{0}.bundle", plugin.Name));

            PluginImporter pluginImporter = PluginImporter.GetAtPath((assetFile)) as PluginImporter;

            if (pluginImporter != null)
            {
                SetPluginBaseInfo(plugin, buildOptions, pluginImporter);

                pluginImporter.SetCompatibleWithAnyPlatform(false);
                pluginImporter.SetCompatibleWithEditor(true);
                pluginImporter.SetCompatibleWithPlatform(BuildTarget.StandaloneOSX, true);
                pluginImporter.SetEditorData("OS", "OSX");

                pluginImporter.SaveAndReimport();
            }
        }
Esempio n. 29
0
        public override void fixProblem()
        {
            PluginImporter imp = AssetImporter.GetAtPath(pluginPath) as PluginImporter;

            switch (platform)
            {
            case PlatformChecker.platforms.any:
                imp.SetCompatibleWithAnyPlatform(true);
                break;

            case PlatformChecker.platforms.editor:
                imp.SetCompatibleWithEditor(true);
                break;

            case PlatformChecker.platforms.android:
                imp.SetCompatibleWithPlatform(BuildTarget.Android, true);
                break;

            case PlatformChecker.platforms.ios:
                imp.SetCompatibleWithPlatform(BuildTarget.iOS, true);
                break;
            }
        }
Esempio n. 30
0
        private void SetCompatible()
        {
            String pluginLocation = Path.Combine(MLPluginPath, _libFileName);
            int    startIndex     = pluginLocation.IndexOf("Assets");
            int    endIndex       = pluginLocation.Length - startIndex;
            String subString      = pluginLocation.Substring(startIndex, endIndex);

            PluginImporter mabuNativePlugin = AssetImporter.GetAtPath(subString) as PluginImporter;

            if (mabuNativePlugin)
            {
                mabuNativePlugin.SetCompatibleWithEditor(false);
                mabuNativePlugin.SetCompatibleWithAnyPlatform(false);
                mabuNativePlugin.SetCompatibleWithPlatform(BuildTarget.Lumin, true);
                StackTraceLogType originalType = Application.GetStackTraceLogType(LogType.Log);
                Application.SetStackTraceLogType(LogType.Log, StackTraceLogType.None);
                UnityEngine.Debug.Log(String.Format("Plugin {0} ready for use.", _libFileName));
                Application.SetStackTraceLogType(LogType.Log, originalType);
            }
            else
            {
                UnityEngine.Debug.LogErrorFormat("Plugin Compatibility failed for {0}", _libFileName);
            }
        }