void OnClickCreate()
        {
            manifest.name_space   = manifest.name_space.Trim();
            manifest.package_name = manifest.package_name.Trim();
            manifest.license      = licenseList[licenseIndex];

            if (!HalodiNewPackageController.ValidateName(manifest.package_name))
            {
                EditorUtility.DisplayDialog("Invalid package name", "Please specify a valid name for the package. Valid names start with a letter, and only contains letters, numbers, underscores and hyphens.", "Close");
                return;
            }
            else if (!HalodiNewPackageController.ValidateNameSpace(manifest.name_space))
            {
                EditorUtility.DisplayDialog("Invalid namespace", "Please specify a valid namespace for the package. Valid namespaces start and end with a letter, and only contains letters, numbers, underscores, hyphens and dots as separation characters.", "Close");
                return;
            }
            else if (!HalodiNewPackageController.ValidateVersion(manifest.version))
            {
                EditorUtility.DisplayDialog("Invalid version", "Version needs to be in the format MAJOR.MINOR.PATCH, with only numeric values allowed.", "Close");
                return;
            }
            else if (manifest.displayName.Trim().Length == 0)
            {
                EditorUtility.DisplayDialog("No display name set", "No display name for  " + manifest.package_name + " set. Please provide a display name", "Close");
                return;
            }
            else if (HalodiNewPackageController.PackageExists(manifest.package_name))
            {
                EditorUtility.DisplayDialog("Package already exists", "A package named " + manifest.package_name + " already exists. Please choose another name.", "Close");
                return;
            }
            else
            {
                EditorUtility.DisplayProgressBar("Creating package", "Creating new package " + manifest.displayName, 0.5f);


                try
                {
                    HalodiNewPackageController.CreatePackage(manifest);
                }
                catch (System.Exception e)
                {
                    Debug.LogError(e);
                }
                EditorUtility.ClearProgressBar();

                UnityEngine.Object instance = HalodiPackageCreatorController.GetPackageManifestObject(manifest);
                Selection.activeObject = instance;

                Close();
                GUIUtility.ExitGUI();
            }
        }
Пример #2
0
        private void OnClickCreate()
        {
            if (!HalodiNewPackageController.ValidateFolderName(sample.path))
            {
                EditorUtility.DisplayDialog("Invalid sample path", "Please specify a valid sample paths. Valid sample paths start with a letter, and only contains letters, numbers, underscores and hyphens.", "Close");
                return;
            }

            if (sample.displayName.Length == 0)
            {
                EditorUtility.DisplayDialog("Invalid display name", "Please specify a display name.", "Close");
                return;
            }

            sample.path = Paths.PackageSamplesFolder + "/" + sample.path;   // No paths.combine, written to file in specific format with slash

            HalodiPackageCreatorController.AddSample(manifest, sample);

            Close();
            GUIUtility.ExitGUI();
        }
 internal static bool IsValidVersion(string version)
 {
     return(HalodiNewPackageController.ValidateVersion(version));
 }