using UnityEditor.Build.Pipeline.Injector;
using UnityEditor.Build.Pipeline.Interfaces;
using UnityEditor.Build.Pipeline.Utilities;
namespace UnityEditor.Build.Pipeline.Tasks
{
///
/// Sets the target build platform based on the build parameters.
///
public class SwitchToBuildPlatform : IBuildTask
{
///
public int Version { get { return 1; } }
#pragma warning disable 649
[InjectContext(ContextUsage.In)]
IBuildParameters m_Parameters;
[InjectContext(ContextUsage.In, true)]
IEditorBuildCallbacks m_InterfaceWrapper;
#pragma warning restore 649
///
public ReturnCode Run()
{
if (EditorUserBuildSettings.SwitchActiveBuildTarget(m_Parameters.Group, m_Parameters.Target))
{
if (m_InterfaceWrapper != null)
m_InterfaceWrapper.InitializeCallbacks();
return ReturnCode.Success;
}
return ReturnCode.Error;
}
}
}