Skip to content

Commit

Permalink
Dev/build window improvements (#853)
Browse files Browse the repository at this point in the history
# XRTK - Mixed Reality Toolkit Pull Request

## Overview
<!-- Please provide a clear and concise description of the pull request. -->
misc build window updates.
  • Loading branch information
StephenHodgson committed Jun 11, 2021
1 parent d224a36 commit 1caa64f
Show file tree
Hide file tree
Showing 5 changed files with 70 additions and 46 deletions.
7 changes: 2 additions & 5 deletions Editor/BuildPipeline/BuildDeployWindow.cs
Original file line number Diff line number Diff line change
Expand Up @@ -77,10 +77,7 @@ private void OnEnable()
Assert.IsNotNull(UnityPlayerBuildTools.BuildInfo);
}

private void OnFocus()
{
platforms.Clear();
}
private void OnFocus() => platforms.Clear();

private void OnGUI()
{
Expand Down Expand Up @@ -137,7 +134,7 @@ private void OnGUI()

if (GUILayout.Button("Open Unity Build Window", GUILayout.Width(176), GUILayout.ExpandWidth(true)))
{
GetWindow(Type.GetType("UnityEditor.BuildPlayerWindow,UnityEditor"));
GetWindow(Type.GetType($"{nameof(UnityEditor)}.{nameof(BuildPlayerWindow)},{nameof(UnityEditor)}"));
}

EditorGUILayout.EndHorizontal();
Expand Down
39 changes: 0 additions & 39 deletions Editor/BuildPipeline/BuildInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,45 +15,6 @@

namespace XRTK.Editor.BuildPipeline
{
[CustomEditor(typeof(BuildInfo), true)]
public class BuildInfoInspector : UnityEditor.Editor
{
private SerializedProperty autoIncrement;
private SerializedProperty bundleIdentifier;
private SerializedProperty install;

private BuildInfo buildInfo;

protected void OnEnable()
{
autoIncrement = serializedObject.FindProperty(nameof(autoIncrement));
bundleIdentifier = serializedObject.FindProperty(nameof(bundleIdentifier));
install = serializedObject.FindProperty(nameof(install));

buildInfo = (BuildInfo)target;
}

/// <inheritdoc />
public override void OnInspectorGUI()
{
serializedObject.Update();

EditorGUI.BeginChangeCheck();
EditorGUILayout.PropertyField(bundleIdentifier);

if (EditorGUI.EndChangeCheck())
{
var buildTargetGroup = UnityEditor.BuildPipeline.GetBuildTargetGroup(buildInfo.BuildTarget);
PlayerSettings.SetApplicationIdentifier(buildTargetGroup, bundleIdentifier.stringValue);
}

EditorGUILayout.PropertyField(autoIncrement);
EditorGUILayout.PropertyField(install);

serializedObject.ApplyModifiedProperties();
}
}

[RuntimePlatform(typeof(WebGlPlatform))]
[RuntimePlatform(typeof(WindowsStandalonePlatform))]
public class BuildInfo : ScriptableObject, IBuildInfo
Expand Down
46 changes: 46 additions & 0 deletions Editor/BuildPipeline/BuildInfoInspector.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
// Copyright (c) XRTK. All rights reserved.
// Licensed under the MIT License. See LICENSE in the project root for license information.

using UnityEditor;

namespace XRTK.Editor.BuildPipeline
{
[CustomEditor(typeof(BuildInfo), true)]
public class BuildInfoInspector : UnityEditor.Editor
{
private SerializedProperty autoIncrement;
private SerializedProperty bundleIdentifier;
private SerializedProperty install;

private BuildInfo buildInfo;

protected void OnEnable()
{
autoIncrement = serializedObject.FindProperty(nameof(autoIncrement));
bundleIdentifier = serializedObject.FindProperty(nameof(bundleIdentifier));
install = serializedObject.FindProperty(nameof(install));

buildInfo = (BuildInfo)target;
}

/// <inheritdoc />
public override void OnInspectorGUI()
{
serializedObject.Update();

EditorGUI.BeginChangeCheck();
EditorGUILayout.PropertyField(bundleIdentifier);

if (EditorGUI.EndChangeCheck())
{
var buildTargetGroup = UnityEditor.BuildPipeline.GetBuildTargetGroup(buildInfo.BuildTarget);
PlayerSettings.SetApplicationIdentifier(buildTargetGroup, bundleIdentifier.stringValue);
}

EditorGUILayout.PropertyField(autoIncrement);
EditorGUILayout.PropertyField(install);

serializedObject.ApplyModifiedProperties();
}
}
}
11 changes: 11 additions & 0 deletions Editor/BuildPipeline/BuildInfoInspector.cs.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 11 additions & 2 deletions Editor/MixedRealityPreferences.cs
Original file line number Diff line number Diff line change
Expand Up @@ -317,6 +317,8 @@ public static IMixedRealityPlatform CurrentPlatformTarget

if (currentPlatformTarget == null)
{
var possibleBuildTargets = new List<IMixedRealityPlatform>();

foreach (var availablePlatform in MixedRealityToolkit.AvailablePlatforms)
{
if (availablePlatform is AllPlatforms ||
Expand All @@ -330,11 +332,18 @@ public static IMixedRealityPlatform CurrentPlatformTarget
{
if (EditorUserBuildSettings.activeBuildTarget == buildTarget)
{
currentPlatformTarget = availablePlatform;
return currentPlatformTarget;
possibleBuildTargets.Add(availablePlatform);
}
}
}

Debug.Assert(possibleBuildTargets.Count > 0);

currentPlatformTarget = possibleBuildTargets.Count == 1
? possibleBuildTargets[0]
: possibleBuildTargets.FirstOrDefault(p => p.PlatformOverrides == null ||
p.PlatformOverrides.Length == 0);
return currentPlatformTarget;
}
}

Expand Down

0 comments on commit 1caa64f

Please sign in to comment.