using UnityEngine;

namespace YooAsset
{
	[CreateAssetMenu(fileName = "YooAssetSettings", menuName = "YooAsset/Create YooAsset Settings")]
	internal class YooAssetSettings : ScriptableObject
	{
		/// <summary>
		/// 清单文件名称
		/// </summary>
		public string ManifestFileName = "PackageManifest";

		/// <summary>
		/// 默认的YooAsset文件夹名称
		/// </summary>
		public string DefaultYooFolderName = "yoo";

		/// <summary>
		/// 清单文件头标记
		/// </summary>
		public const uint ManifestFileSign = 0x594F4F;

		/// <summary>
		/// 清单文件极限大小（100MB）
		/// </summary>
		public const int ManifestFileMaxSize = 104857600;

		/// <summary>
		/// 清单文件格式版本
		/// </summary>
		public const string ManifestFileVersion = "1.5.2";


		/// <summary>
		/// 缓存的数据文件名称
		/// </summary>
		public const string CacheBundleDataFileName = "__data";

		/// <summary>
		/// 缓存的信息文件名称
		/// </summary>
		public const string CacheBundleInfoFileName = "__info";

		/// <summary>
		/// 缓存的资源文件的文件夹名称
		/// </summary>
		public const string CachedBundleFileFolder = "CacheBundleFiles";

		/// <summary>
		/// 缓存的原生文件的文件夹名称
		/// </summary>
		public const string CachedRawFileFolder = "CacheRawFiles";

		/// <summary>
		/// 缓存的清单文件的文件夹名称
		/// </summary>
		public const string ManifestFolderName = "ManifestFiles";

		/// <summary>
		/// 记录应用程序版本的文件名称
		/// </summary>
		public const string AppFootPrintFileName = "ApplicationFootPrint.bytes";


		/// <summary>
		/// 构建输出文件夹名称
		/// </summary>
		public const string OutputFolderName = "OutputCache";

		/// <summary>
		/// 构建输出的报告文件
		/// </summary>
		public const string ReportFileName = "BuildReport";
	}
}