namespace YooAsset.Editor
{
public class CollectCommand
{
///
/// 模拟构建模式
///
public bool SimulateBuild { private set; get; }
///
/// 使用资源依赖数据库
///
public bool UseAssetDependencyDB { private set; get; }
///
/// 包裹名称
///
public string PackageName { private set; get; }
///
/// 启用可寻址资源定位
///
public bool EnableAddressable { private set; get; }
///
/// 资源定位地址大小写不敏感
///
public bool LocationToLower { private set; get; }
///
/// 包含资源GUID数据
///
public bool IncludeAssetGUID { private set; get; }
///
/// 自动收集所有着色器
///
public bool AutoCollectShaders { private set; get; }
///
/// 资源包名唯一化
///
public bool UniqueBundleName { private set; get; }
///
/// 着色器统一全名称
///
public string ShadersBundleName { private set; get; }
///
/// 忽略规则实例
///
public IIgnoreRule IgnoreRule { private set; get; }
public CollectCommand(bool simulateBuild, bool useAssetDependencyDB, string packageName,
bool enableAddressable, bool locationToLower, bool includeAssetGUID,
bool autoCollectShaders, bool uniqueBundleName, IIgnoreRule ignoreRule)
{
SimulateBuild = simulateBuild;
UseAssetDependencyDB = useAssetDependencyDB;
PackageName = packageName;
EnableAddressable = enableAddressable;
LocationToLower = locationToLower;
IncludeAssetGUID = includeAssetGUID;
AutoCollectShaders = autoCollectShaders;
UniqueBundleName = uniqueBundleName;
IgnoreRule = ignoreRule;
// 着色器统一全名称
var packRuleResult = DefaultPackRule.CreateShadersPackRuleResult();
ShadersBundleName = packRuleResult.GetBundleName(packageName, uniqueBundleName);
}
private AssetDependencyCache _assetDependency;
public AssetDependencyCache AssetDependency
{
get
{
if (_assetDependency == null)
_assetDependency = new AssetDependencyCache(UseAssetDependencyDB);
return _assetDependency;
}
}
}
}