在生成AssetBundle的时候,如果目标平台和当前平台不一致,Unity3D会自动将当前平台转换为目标平台。
如果项目中资源量比较大,这个转换过程是相当漫长的,并且不能够强行中止。
所以最好在BuildPipeline之前进行平台一致性检测,代码如下所示:
public static bool CheckPlatform(UnityEditor.BuildTarget target)
{
if (EditorUserBuildSettings.activeBuildTarget != target)
{
EditorUtility.DisplayDialog("目标平台与当前平台不一致,请先进行平台转换", "当前平台:" + EditorUserBuildSettings.activeBuildTarget + "\n目标平台:" + target, "OK");
return false;
}
return true;
}