178 lines
8.0 KiB
C#
178 lines
8.0 KiB
C#
using AssetStoreTools.Previews.Data;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using UnityEditor;
|
|
using UnityEngine;
|
|
using PackageInfo = UnityEditor.PackageManager.PackageInfo;
|
|
|
|
namespace AssetStoreTools
|
|
{
|
|
internal class Constants
|
|
{
|
|
#if UNITY_EDITOR_OSX
|
|
public static readonly string UnityPath = System.IO.Path.Combine(EditorApplication.applicationPath, "Contents", "MacOS", "Unity");
|
|
#else
|
|
public static readonly string UnityPath = EditorApplication.applicationPath;
|
|
#endif
|
|
public static readonly string RootProjectPath = Application.dataPath.Substring(0, Application.dataPath.Length - "Assets".Length);
|
|
|
|
private static bool GetArgument(string argumentName, out string argumentValue)
|
|
{
|
|
argumentValue = string.Empty;
|
|
var args = Environment.GetCommandLineArgs();
|
|
|
|
for (int i = 0; i < args.Length; i++)
|
|
{
|
|
if (!args[i].Equals(argumentName, StringComparison.OrdinalIgnoreCase))
|
|
continue;
|
|
|
|
if (i + 1 >= args.Length)
|
|
return false;
|
|
|
|
argumentValue = args[i + 1];
|
|
break;
|
|
}
|
|
|
|
return !string.IsNullOrEmpty(argumentValue);
|
|
}
|
|
|
|
public class Api
|
|
{
|
|
public static readonly string ApiVersion = $"V{PackageInfo.FindForAssetPath("Packages/com.unity.asset-store-tools").version}";
|
|
public const string AssetStoreToolsLatestVersionUrl = "https://api.assetstore.unity3d.com/package/latest-version/115";
|
|
|
|
private const string AssetStoreBaseUrlDefault = "https://kharma.unity3d.com";
|
|
private const string AssetStoreBaseUrlOverrideArgument = "-assetStoreUrl";
|
|
public static readonly string AssetStoreBaseUrl = !GetArgument(AssetStoreBaseUrlOverrideArgument, out var overriddenUrl)
|
|
? AssetStoreBaseUrlDefault
|
|
: overriddenUrl;
|
|
|
|
public static readonly string AuthenticateUrl = $"{AssetStoreBaseUrl}/login";
|
|
public static readonly string GetPackagesUrl = $"{AssetStoreBaseUrl}/api/asset-store-tools/metadata/0.json";
|
|
public static readonly string GetPackagesAdditionalDataUrl = $"{AssetStoreBaseUrl}/api/management/packages.json";
|
|
public static readonly string GetCategoriesUrl = $"{AssetStoreBaseUrl}/api/management/categories.json";
|
|
|
|
public static string GetPackageUploadedVersionsUrl(string packageId, string versionId) =>
|
|
$"{AssetStoreBaseUrl}/api/content/preview/{packageId}/{versionId}.json";
|
|
public static string UploadUnityPackageUrl(string versionId) =>
|
|
$"{AssetStoreBaseUrl}/api/asset-store-tools/package/{versionId}/unitypackage.json";
|
|
|
|
public static IDictionary<string, string> DefaultAssetStoreQuery()
|
|
{
|
|
var dict = new Dictionary<string, string>()
|
|
{
|
|
{ "unityversion", Application.unityVersion },
|
|
{ "toolversion", ApiVersion }
|
|
};
|
|
return dict;
|
|
}
|
|
}
|
|
|
|
public class Updater
|
|
{
|
|
public const string AssetStoreToolsUrl = "https://assetstore.unity.com/packages/tools/utilities/asset-store-publishing-tools-115";
|
|
}
|
|
|
|
public class Cache
|
|
{
|
|
public const string SessionTokenKey = "kharma.sessionid";
|
|
public const string TempCachePath = "Temp/AssetStoreToolsCache";
|
|
public const string PersistentCachePath = "Library/AssetStoreToolsCache";
|
|
|
|
public const string PackageDataFileName = "PackageMetadata.json";
|
|
public const string CategoryDataFile = "Categories.json";
|
|
public const string ValidationResultFile = "ValidationStateData.asset";
|
|
|
|
public static string PackageThumbnailFileName(string packageId) => $"{packageId}.png";
|
|
public static string WorkflowStateDataFileName(string packageId) => $"{packageId}-workflowStateData.asset";
|
|
}
|
|
|
|
public class Uploader
|
|
{
|
|
public const string MinRequiredUnitySupportVersion = "2021.3";
|
|
public const long MaxPackageSizeBytes = 6576668672; // 6 GB + 128MB of headroom
|
|
public const string AccountRegistrationUrl = "https://publisher.unity.com/access";
|
|
public const string AccountForgottenPasswordUrl = "https://id.unity.com/password/new";
|
|
|
|
public class Analytics
|
|
{
|
|
public const string VendorKey = "unity.assetStoreTools";
|
|
public const int MaxEventsPerHour = 20;
|
|
public const int MaxNumberOfElements = 1000;
|
|
|
|
public class AuthenticationAnalytics
|
|
{
|
|
public const string EventName = "assetStoreToolsLogin";
|
|
public const int EventVersion = 1;
|
|
}
|
|
|
|
public class PackageUploadAnalytics
|
|
{
|
|
public const string EventName = "assetStoreTools";
|
|
public const int EventVersion = 3;
|
|
}
|
|
}
|
|
}
|
|
|
|
public class Validator
|
|
{
|
|
public const string SubmissionGuidelinesUrl = "https://assetstore.unity.com/publishing/submission-guidelines#Overview";
|
|
public const string SupportTicketUrl = "https://support.unity.com/hc/en-us/requests/new?ticket_form_id=65905";
|
|
|
|
public class Tests
|
|
{
|
|
public const string TestDefinitionsPath = "Packages/com.unity.asset-store-tools/Editor/Validator/Tests";
|
|
public const string TestMethodsPath = "Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Test Methods";
|
|
|
|
public static readonly string GenericTestMethodsPath = $"{TestMethodsPath}/Generic";
|
|
public static readonly string UnityPackageTestMethodsPath = $"{TestMethodsPath}/UnityPackage";
|
|
}
|
|
}
|
|
|
|
public class Previews
|
|
{
|
|
public const string PreviewDatabaseFile = "PreviewDatabase.json";
|
|
|
|
public static readonly string DefaultOutputPath = $"{Cache.TempCachePath}/AssetPreviews";
|
|
public const FileNameFormat DefaultFileNameFormat = FileNameFormat.Guid;
|
|
|
|
public class Native
|
|
{
|
|
public static readonly string DefaultOutputPath = $"{Previews.DefaultOutputPath}/Native";
|
|
public const PreviewFormat DefaultFormat = PreviewFormat.PNG;
|
|
public const bool DefaultWaitForPreviews = true;
|
|
public const bool DefaultChunkedPreviewLoading = true;
|
|
public const int DefaultChunkSize = 100;
|
|
}
|
|
|
|
public class Custom
|
|
{
|
|
public static readonly string DefaultOutputPath = $"{Previews.DefaultOutputPath}/Custom";
|
|
public const PreviewFormat DefaultFormat = PreviewFormat.JPG;
|
|
public const int DefaultWidth = 300;
|
|
public const int DefaultHeight = 300;
|
|
public const int DefaultDepth = 32;
|
|
|
|
public const int DefaultNativeWidth = 900;
|
|
public const int DefaultNativeHeight = 900;
|
|
|
|
public static readonly Color DefaultAudioSampleColor = new Color(1f, 0.55f, 0);
|
|
public static readonly Color DefaultAudioBackgroundColor = new Color(0.32f, 0.32f, 0.32f);
|
|
}
|
|
}
|
|
|
|
public class WindowStyles
|
|
{
|
|
public const string UploaderStylesPath = "Packages/com.unity.asset-store-tools/Editor/Uploader/Styles";
|
|
public const string ValidatorStylesPath = "Packages/com.unity.asset-store-tools/Editor/Validator/Styles";
|
|
public const string ValidatorIconsPath = "Packages/com.unity.asset-store-tools/Editor/Validator/Icons";
|
|
public const string PreviewGeneratorStylesPath = "Packages/com.unity.asset-store-tools/Editor/Previews/Styles";
|
|
public const string UpdaterStylesPath = "Packages/com.unity.asset-store-tools/Editor/Utility/Styles/Updater";
|
|
}
|
|
|
|
public class Debug
|
|
{
|
|
public const string DebugModeKey = "ASTDebugMode";
|
|
}
|
|
}
|
|
} |