Skip to content

Commit 5f1a205

Browse files
authored
Merge pull request #6617 from Troy-Ferrell/users/trferrel/build-window-improvements-2
Build Window improvements 2
2 parents e7bed66 + 4658cb8 commit 5f1a205

File tree

1 file changed

+38
-23
lines changed

1 file changed

+38
-23
lines changed

Assets/MixedRealityToolkit.Tools/BuildWindow/BuildDeployWindow.cs

Lines changed: 38 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,7 @@ private static bool UseRemoteTarget
250250

251251
private static DevicePortalConnections portalConnections = null;
252252
private static CancellationTokenSource appxCancellationTokenSource = null;
253+
private static float appxProgressBarTimer = 0.0f;
253254
private static DeviceInfo localConnection;
254255

255256
#endregion Fields
@@ -304,6 +305,8 @@ private void OnGUI()
304305

305306
private void RenderWSABuildView()
306307
{
308+
RenderBuildDirectory();
309+
307310
using (new EditorGUILayout.HorizontalScope())
308311
{
309312
using (new EditorGUI.DisabledGroupScope(!ShouldBuildSLNBeEnabled))
@@ -359,8 +362,6 @@ private void RenderStandaloneBuildView()
359362

360363
private void RenderUnityBuildView()
361364
{
362-
RenderBuildDirectory();
363-
364365
EditorUserBuildSettings.wsaSubtarget = (WSASubtarget)EditorGUILayout.Popup("Target Device", (int)EditorUserBuildSettings.wsaSubtarget, TARGET_DEVICE_OPTIONS, GUILayout.Width(HALF_WIDTH));
365366

366367
#if !UNITY_2019_1_OR_NEWER
@@ -413,6 +414,20 @@ private void RenderUnityBuildView()
413414
}
414415
#endif // !UNITY_2019_1_OR_NEWER
415416

417+
using (new EditorGUILayout.VerticalScope(EditorStyles.helpBox))
418+
{
419+
EditorGUILayout.LabelField("Scenes in Build", EditorStyles.boldLabel);
420+
421+
using (new EditorGUI.DisabledGroupScope(true))
422+
{
423+
var scenes = EditorBuildSettings.scenes;
424+
for (int i = 0; i < scenes.Length; i++)
425+
{
426+
EditorGUILayout.ToggleLeft($"{i} {scenes[i].path}", scenes[i].enabled);
427+
}
428+
}
429+
}
430+
416431
using (new EditorGUILayout.HorizontalScope())
417432
{
418433
using (new EditorGUI.DisabledGroupScope(!ShouldOpenSLNBeEnabled))
@@ -503,6 +518,12 @@ private void RenderAppxBuildView()
503518
int currentPlatformToolsetIndex = Array.IndexOf(PLATFORM_TOOLSET_VALUES, UwpBuildDeployPreferences.PlatformToolset);
504519
int newPlatformToolsetIndex = EditorGUILayout.Popup("Plaform Toolset", currentPlatformToolsetIndex, PLATFORM_TOOLSET_NAMES, GUILayout.Width(HALF_WIDTH));
505520

521+
// Force rebuild
522+
bool forceRebuildAppx = EditorGUILayout.ToggleLeft("Force Rebuild", UwpBuildDeployPreferences.ForceRebuild);
523+
524+
// Multicore Appx Build
525+
bool multicoreAppxBuildEnabled = EditorGUILayout.ToggleLeft("Multicore Build", UwpBuildDeployPreferences.MulticoreAppxBuildEnabled);
526+
506527
EditorGUILayout.LabelField("Manifest Options", EditorStyles.boldLabel);
507528

508529
// The 'Gaze Input' capability support was added for HL2 in the Windows SDK 18362, but
@@ -521,6 +542,8 @@ private void RenderAppxBuildView()
521542
EditorUserBuildSettings.wsaArchitecture = ARCHITECTURE_OPTIONS[buildPlatformIndex];
522543
UwpBuildDeployPreferences.GazeInputCapabilityEnabled = gazeInputCapabilityEnabled;
523544
UwpBuildDeployPreferences.ResearchModeCapabilityEnabled = researchModeEnabled;
545+
UwpBuildDeployPreferences.ForceRebuild = forceRebuildAppx;
546+
UwpBuildDeployPreferences.MulticoreAppxBuildEnabled = multicoreAppxBuildEnabled;
524547
}
525548
}
526549

@@ -555,6 +578,18 @@ private void RenderAppxBuildView()
555578

556579
EditorGUILayout.Space();
557580

581+
if (appxCancellationTokenSource != null)
582+
{
583+
using (var progressBarRect = new EditorGUILayout.VerticalScope())
584+
{
585+
appxProgressBarTimer = Mathf.Clamp01(Time.realtimeSinceStartup % 1.0f);
586+
587+
EditorGUI.ProgressBar(progressBarRect.rect, appxProgressBarTimer, "Building AppX...");
588+
GUILayout.Space(16);
589+
Repaint();
590+
}
591+
}
592+
558593
using (new EditorGUILayout.HorizontalScope())
559594
{
560595
GUILayout.FlexibleSpace();
@@ -570,26 +605,6 @@ private void RenderAppxBuildView()
570605
EditorApplication.delayCall += () => Process.Start("explorer.exe", $"/f /open,{appxBuildPath}");
571606
}
572607
}
573-
}
574-
575-
using (new EditorGUILayout.HorizontalScope())
576-
{
577-
GUILayout.FlexibleSpace();
578-
579-
using (var c = new EditorGUI.ChangeCheckScope())
580-
{
581-
// Force rebuild
582-
bool forceRebuildAppx = EditorGUILayout.ToggleLeft("Force Rebuild", UwpBuildDeployPreferences.ForceRebuild);
583-
584-
// Multicore Appx Build
585-
bool multicoreAppxBuildEnabled = EditorGUILayout.ToggleLeft("Multicore Build", UwpBuildDeployPreferences.MulticoreAppxBuildEnabled);
586-
587-
if (c.changed)
588-
{
589-
UwpBuildDeployPreferences.ForceRebuild = forceRebuildAppx;
590-
UwpBuildDeployPreferences.MulticoreAppxBuildEnabled = multicoreAppxBuildEnabled;
591-
}
592-
}
593608

594609
if (appxCancellationTokenSource == null)
595610
{
@@ -809,7 +824,7 @@ private void RenderBuildsList()
809824

810825
if (Builds.Count == 0)
811826
{
812-
GUILayout.Label("*** No builds found in build directory", EditorStyles.boldLabel);
827+
EditorGUILayout.HelpBox("***No builds found in build directory", MessageType.Info);
813828
}
814829
else
815830
{

0 commit comments

Comments
 (0)