Beispiel #1
0
        private static void ImportModuleContent(AssetModule assetModule, AssetDatabase.ImportPackageCallback onSuccess)
        {
            string packageFilename     = string.Format(ASSET_PACK_FILENAME, assetModule.module.moduleID);
            string relativePackagePath = Path.Combine(ASSET_MODULES_PATH, assetModule.module.moduleID);

            relativePackagePath = Path.Combine(relativePackagePath, packageFilename);
            string absolutePackagePath = Path.Combine(ModuleManager.GetProjectPath(), relativePackagePath);

            if (File.Exists(absolutePackagePath))
            {
                AssetDatabase.importPackageCompleted += onSuccess;
                AssetDatabase.ImportPackage(relativePackagePath, true);
            }
        }
Beispiel #2
0
 public static void Install(string packagePath, string integration)
 {
     AssetDatabase.ImportPackageCallback callback = null;
     callback = delegate(string packageName)
     {
         EditorUtility.DisplayDialog(
             integration + " Installed",
             integration + " Integration Successfully Installed",
             "Done");
         AssetDatabase.importPackageCompleted -= callback;
     };
     AssetDatabase.importPackageCompleted += callback;
     AssetDatabase.ImportPackage(packagePath, false);
     AssetDatabase.Refresh();
 }
Beispiel #3
0
        /// <summary>
        /// Installs the integration.
        /// </summary>
        /// <param name="integration"></param>
        /// <param name="showAlerts"></param>
        /// <returns>True when integration successfully installed</returns>
        public static bool InstallIntegration(IntegrationInfo integration, bool showAlerts)
        {
            if (!IsAllDependenciesInstalled(integration))
            {
                string dependenciesText = "";
                for (int i = 0; i < integration.Dependencies.Length; i++)
                {
                    string dependency = integration.Dependencies[i];
                    dependenciesText += "- " + GetIntegration(dependency).Title + "\n";
                }
                bool install = EditorUtility.DisplayDialog(
                    "Installing Integration",
                    string.Format("The {0} integration dependencies is not fully installed, do you want to install all dependencies and continue?\n\nDependencies:\n{1}", integration.Title, dependenciesText),
                    "Yes", "No");
                if (install)
                {
                    InstallIntegrationDependencies(integration);
                }
                else
                {
                    return(false);
                }
            }
            string packagePath = string.Format("{0}/{1}/{2}.unitypackage", SaveGameConstants.IntegrationFolder, integration.Identifier, integration.PackageName);

            AssetDatabase.ImportPackageCallback callback = null;
            callback = (string packageName) =>
            {
                if (showAlerts)
                {
                    EditorUtility.DisplayDialog("Integration Installed", string.Format("{0} Successfully Installed", integration.Title), "Done");
                }
                AssetDatabase.importPackageCompleted -= callback;
                //AssetDatabase.Refresh();
            };
            AssetDatabase.importPackageCompleted += callback;
            AssetDatabase.ImportPackage(packagePath, false);
            integration.Installed = true;
            return(true);
        }