public void Clear() { m_OriginalBuildTarget = UnityEditor.BuildTarget.NoTarget; if (m_PrepareQueueBuilds != null) { m_PrepareQueueBuilds.Clear(); } if (m_QueueBuilds != null) { m_QueueBuilds.Clear(); } m_OnAllBuildsCompletedEvent = null; }
public void FlushBuilds(UnityAction <BuildPipelineResult[]> onAllBuildsCompleted) { if (m_PrepareQueueBuilds == null || m_PrepareQueueBuilds.Count == 0) { return; } m_QueueBuilds.Clear(); m_QueueBuilds.AddRange(m_PrepareQueueBuilds); m_PrepareQueueBuilds = null; m_OriginalBuildTarget = EditorUserBuildSettings.activeBuildTarget; m_OnAllBuildsCompletedEvent = new OnAllBuildsCompletedEvent(); if (onAllBuildsCompleted != null) { UnityEventTools.AddPersistentListener(m_OnAllBuildsCompletedEvent, onAllBuildsCompleted); m_OnAllBuildsCompletedEvent.SetPersistentListenerState(m_OnAllBuildsCompletedEvent.GetPersistentEventCount() - 1, UnityEventCallState.EditorAndRuntime); } var sorter = new BuildStorter(m_OriginalBuildTarget); m_QueueBuilds.Sort(sorter.Compare); ProcessBuilds(); }