Skip to content

Commit b44c4cc

Browse files
author
Unity Technologies
committed
Unity 6000.0.4f1 C# reference source code
1 parent 1d7b2b4 commit b44c4cc

File tree

52 files changed

+524
-198
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+524
-198
lines changed

Editor/Mono/Audio/Mixer/GUI/AudioMixerWindow.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,11 +136,11 @@ static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAsse
136136

137137
void UpdateAfterAssetChange()
138138
{
139+
m_AllControllers = FindAllAudioMixerControllers();
140+
139141
if (m_MixersTree == null)
140142
Init();
141143

142-
m_AllControllers = FindAllAudioMixerControllers();
143-
144144
if (m_Controller != null)
145145
{
146146
m_Controller.SanitizeGroupViews();

Editor/Mono/BuildProfile/BuildProfile.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -147,9 +147,7 @@ internal bool IsActiveBuildProfileOrPlatform()
147147
|| !BuildProfileContext.IsClassicPlatformProfile(this))
148148
return false;
149149

150-
var activePlatformId = BuildProfileModuleUtil.GetPlatformId(
151-
EditorUserBuildSettings.activeBuildTarget, EditorUserBuildSettings.standaloneBuildSubtarget);
152-
return platformId == activePlatformId;
150+
return platformId == EditorUserBuildSettings.activePlatformGuid.ToString();
153151
}
154152

155153
[VisibleToOtherModules]

Editor/Mono/BuildProfile/BuildProfileModuleUtil.cs

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ public static bool IsModuleInstalled(string platformId)
9090
return installed
9191
&& BuildPipeline.LicenseCheck(buildTarget)
9292
&& !string.IsNullOrEmpty(moduleName)
93-
&& ModuleManager.GetBuildProfileExtension(moduleName) != null;
93+
&& ModuleManager.IsPlatformSupportLoaded(moduleName);
9494
}
9595

9696
/// <summary>
@@ -183,18 +183,7 @@ public static string GetModuleName(string platformId)
183183
/// </summary>
184184
public static void SwitchLegacyActiveFromBuildProfile(BuildProfile profile)
185185
{
186-
var buildTargetGroup = BuildPipeline.GetBuildTargetGroup(profile.buildTarget);
187-
188-
if (buildTargetGroup == BuildTargetGroup.Standalone)
189-
{
190-
EditorUserBuildSettings.SwitchActiveBuildTargetAndSubtarget(
191-
profile.buildTarget,
192-
(int)profile.subtarget);
193-
return;
194-
}
195-
196-
// Subtarget fetched by EditorUserBuildSettings maps to the active build profile.
197-
EditorUserBuildSettings.SwitchActiveBuildTarget(buildTargetGroup, profile.buildTarget);
186+
EditorUserBuildSettings.SwitchActiveBuildTargetGuid(new GUID(profile.platformId));
198187
}
199188

200189
public static void SwitchLegacySelectedBuildTargets(BuildProfile profile)

Editor/Mono/BuildTargetDiscovery.bindings.cs

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,17 @@ public static bool TryGetProperties<T>(BuildTarget platform, out T properties) w
138138
BuildTarget.StandaloneLinux64,
139139
};
140140

141+
static bool IsStandalonePlatform(BuildTarget buildTarget)
142+
{
143+
foreach (var target in StandaloneBuildTargets)
144+
{
145+
if (target == buildTarget)
146+
return true;
147+
}
148+
149+
return false;
150+
}
151+
141152
[RequiredByNativeCode]
142153
internal static bool DoesBuildTargetSupportStereoInstancingRendering(BuildTarget buildTarget)
143154
{
@@ -324,7 +335,7 @@ internal static bool DoesBuildTargetSupportSinglePassStereoRendering(BuildTarget
324335
};
325336

326337
// Changes here should be synced with the usage of
327-
// BuildTargetDiscovery::HideInUI flag in [Platfrom]BuildTarget.cpp
338+
// BuildTargetDiscovery::HideInUI flag in [Platform]BuildTarget.cpp
328339
internal static GUID[] hiddenPlatforms { get; } = new GUID[]
329340
{
330341
s_platform_38,
@@ -449,7 +460,7 @@ internal static bool DoesBuildTargetSupportSinglePassStereoRendering(BuildTarget
449460
{ s_platform_102, L10n.Tr("*standard install form hub") },
450461
};
451462

452-
// Name changes here must be reflected in the platform [PLATFORM]BuildTarget.cs and [Platfrom]BuildTarget.cpp respective DisplayName and niceName
463+
// Name changes here must be reflected in the platform [PLATFORM]BuildTarget.cs and [Platform]BuildTarget.cpp respective DisplayName and niceName
453464
static Dictionary<GUID, string> s_PlatformDisplayName = new()
454465
{
455466
{ s_platform_02, "macOS" },
@@ -474,7 +485,7 @@ internal static bool DoesBuildTargetSupportSinglePassStereoRendering(BuildTarget
474485
{ s_platform_102, "macOS Server" },
475486
};
476487

477-
// Changes here should be synced with [Platfrom]BuildTarget.cpp respective iconName
488+
// Changes here should be synced with [Platform]BuildTarget.cpp respective iconName
478489
static readonly Dictionary<GUID, string> k_PlatformIconName = new()
479490
{
480491
{ s_platform_02, "BuildSettings.OSX" },
@@ -550,7 +561,7 @@ static void PreloadBuildPlatformInstalledData()
550561
continue;
551562
}
552563

553-
if (!PlatformHasFlag(buildTarget, TargetAttributes.IsStandalonePlatform))
564+
if (!IsStandalonePlatform(buildTarget))
554565
{
555566
k_PlatformInstalledData.Add(platform, true);
556567
continue;
@@ -705,7 +716,7 @@ public static bool BuildPlatformIsUnderNDA(IBuildTarget platform)
705716
return false;
706717
}
707718

708-
[System.Obsolete("BuildPlatfromIsHiddenInUI(BuildTarget) is obsolete. Use BuildPlatfromIsHiddenInUI(IBuildTarget) instead.", false)]
719+
[System.Obsolete("BuildPlatformIsHiddenInUI(BuildTarget) is obsolete. Use BuildPlatformIsHiddenInUI(IBuildTarget) instead.", false)]
709720
public static bool BuildPlatformIsHiddenInUI(BuildTarget platform) =>
710721
BuildPlatformIsHiddenInUI(GetGUIDFromBuildTarget(platform));
711722

Editor/Mono/EditorGUIUtility.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -929,7 +929,7 @@ internal static GUIContent ObjectContent(UnityObject obj, Type type, int instanc
929929
else if (type != null)
930930
{
931931
s_ObjectContent.text = GetTypeNameWithInfo(type.Name, instanceID);
932-
s_ObjectContent.image = AssetPreview.GetMiniTypeThumbnail(type);
932+
s_ObjectContent.image = null; // Do not show icon when the reference is null as the type is already included in the label (UUM-16396)
933933
}
934934
else
935935
{

Editor/Mono/EditorUserBuildSettings.bindings.cs

Lines changed: 40 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -779,6 +779,44 @@ public static extern WindowsBuildAndRunDeployTarget windowsBuildAndRunDeployTarg
779779
// The currently active build target.
780780
public static extern BuildTarget activeBuildTarget { get; }
781781

782+
private static extern GUID GetInternalActivePlatformGuid();
783+
784+
// Internal setter only to be used for testing.
785+
internal static extern void SetActivePlatformGuid(GUID platformId);
786+
787+
internal static GUID activePlatformGuid
788+
{
789+
get
790+
{
791+
GUID activePlatformGuid = GetInternalActivePlatformGuid();
792+
GUID buildTargetGuid = BuildTargetDiscovery.GetGUIDFromBuildTarget(EditorUserBuildSettingsUtils.CalculateActiveNamedBuildTarget(), activeBuildTarget);
793+
794+
// TODO: Account for derived platforms.
795+
// Jira https://jira.unity3d.com/browse/PLAT-9234
796+
if (activePlatformGuid.Empty())
797+
return buildTargetGuid;
798+
799+
if(activePlatformGuid != buildTargetGuid)
800+
return buildTargetGuid;
801+
802+
return activePlatformGuid;
803+
}
804+
}
805+
806+
[NativeMethod("SwitchActiveBuildTargetGuid")]
807+
private static extern bool SwitchActiveBuildTargetAndSubTargetGuid(GUID platformGuid, BuildTarget target, int subtarget);
808+
internal static bool SwitchActiveBuildTargetGuid(GUID platformGuid)
809+
{
810+
// TODO: Account for derived platforms.
811+
// Jira https://jira.unity3d.com/browse/PLAT-9234
812+
var (buildTargetFromGuid, subTargetFromGuid) = BuildTargetDiscovery.GetBuildTargetAndSubtargetFromGUID(platformGuid);
813+
814+
int activeSubtarget = (int)subTargetFromGuid;
815+
if(subTargetFromGuid == StandaloneBuildSubtarget.Default)
816+
activeSubtarget = EditorUserBuildSettings.GetActiveSubtargetFor(buildTargetFromGuid);
817+
818+
return SwitchActiveBuildTargetAndSubTargetGuid(platformGuid, buildTargetFromGuid, activeSubtarget);
819+
}
782820

783821
// The currently active build target.
784822
internal static extern BuildTargetGroup activeBuildTargetGroup { get; }
@@ -793,8 +831,8 @@ public static bool SwitchActiveBuildTarget(BuildTargetGroup targetGroup, BuildTa
793831
public static bool SwitchActiveBuildTargetAsync(BuildTargetGroup targetGroup, BuildTarget target)
794832
=> SwitchActiveBuildTargetAndSubtargetAsync(target, EditorUserBuildSettings.GetActiveSubtargetFor(target));
795833

796-
public static bool SwitchActiveBuildTarget(NamedBuildTarget namedBuildTarget, BuildTarget target) =>
797-
BuildPlatforms.instance.BuildPlatformFromNamedBuildTarget(namedBuildTarget).SetActive(target);
834+
public static bool SwitchActiveBuildTarget(NamedBuildTarget namedBuildTarget, BuildTarget target)
835+
=> BuildPlatforms.instance.BuildPlatformFromNamedBuildTarget(namedBuildTarget).SetActive(target);
798836

799837
// This is used by tests -- note that it does tell the editor that current platform is X, without
800838
// validating if support for it is installed. However it does not do things like script recompile

Editor/Mono/GUI/ObjectField.cs

Lines changed: 35 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ public sealed partial class EditorGUI
1717
static private GUIContent s_TypeMismatch = EditorGUIUtility.TrTextContent("Type mismatch");
1818
static private GUIContent s_Select = EditorGUIUtility.TrTextContent("Select");
1919

20+
const float k_NullObjectReferenceOpacity = 0.7f;
21+
2022
[Flags]
2123
[VisibleToOtherModules("UnityEditor.UIBuilderModule")]
2224
internal enum ObjectFieldValidatorOptions
@@ -417,24 +419,40 @@ static Object DoObjectField(Rect position, Rect dropRect, int id, Object obj, Ob
417419
temp = EditorGUIUtility.ObjectContent(obj, objType, property, validator);
418420
}
419421

420-
switch (visualType)
422+
var contentColor = GUI.contentColor;
423+
var oldAlpha = contentColor.a;
424+
try
421425
{
422-
case ObjectFieldVisualType.IconAndText:
423-
BeginHandleMixedValueContentColor();
424-
style.Draw(position, temp, id, DragAndDrop.activeControlID == id, position.Contains(Event.current.mousePosition));
425-
426-
Rect buttonRect = buttonStyle.margin.Remove(GetButtonRect(visualType, position));
427-
buttonStyle.Draw(buttonRect, GUIContent.none, id, DragAndDrop.activeControlID == id, buttonRect.Contains(Event.current.mousePosition));
428-
EndHandleMixedValueContentColor();
429-
break;
430-
case ObjectFieldVisualType.LargePreview:
431-
DrawObjectFieldLargeThumb(position, id, obj, temp);
432-
break;
433-
case ObjectFieldVisualType.MiniPreview:
434-
DrawObjectFieldMiniThumb(position, id, obj, temp);
435-
break;
436-
default:
437-
throw new ArgumentOutOfRangeException();
426+
// Show label with 70% opacity when null. (UUM-16396)
427+
if (obj == null)
428+
{
429+
contentColor.a = k_NullObjectReferenceOpacity;
430+
GUI.contentColor = contentColor;
431+
}
432+
switch (visualType)
433+
{
434+
case ObjectFieldVisualType.IconAndText:
435+
BeginHandleMixedValueContentColor();
436+
style.Draw(position, temp, id, DragAndDrop.activeControlID == id, position.Contains(Event.current.mousePosition));
437+
438+
Rect buttonRect = buttonStyle.margin.Remove(GetButtonRect(visualType, position));
439+
buttonStyle.Draw(buttonRect, GUIContent.none, id, DragAndDrop.activeControlID == id, buttonRect.Contains(Event.current.mousePosition));
440+
EndHandleMixedValueContentColor();
441+
break;
442+
case ObjectFieldVisualType.LargePreview:
443+
DrawObjectFieldLargeThumb(position, id, obj, temp);
444+
break;
445+
case ObjectFieldVisualType.MiniPreview:
446+
DrawObjectFieldMiniThumb(position, id, obj, temp);
447+
break;
448+
default:
449+
throw new ArgumentOutOfRangeException();
450+
}
451+
}
452+
finally
453+
{
454+
contentColor.a = oldAlpha;
455+
GUI.contentColor = contentColor;
438456
}
439457
break;
440458
}

Editor/Mono/Inspector/AudioClipInspector.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -309,7 +309,7 @@ public override void OnPreviewGUI(Rect r, GUIStyle background)
309309
}
310310

311311
// force update GUI
312-
if (playing)
312+
if (playing && GUIView.current != null)
313313
GUIView.current.Repaint();
314314
}
315315

Editor/Mono/PlayerSettingsAndroid.bindings.cs

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -267,12 +267,20 @@ public static extern int minimumWindowHeight
267267
set;
268268
}
269269

270-
// Should window resizing be allowed.
271-
public static extern bool resizableWindow
270+
[Obsolete("resizableWindow has been deprecated and renamed to match Android documentation. Please use resizeableActivity instead. (UnityUpgradable) -> resizeableActivity", false)]
271+
// Should application resizing be allowed (deprecated old naming).
272+
public static bool resizeableWindow
272273
{
273-
[NativeMethod("GetAndroidResizableWindow")]
274+
set => resizeableActivity = value;
275+
get => resizeableActivity;
276+
}
277+
278+
// Should application resizing be allowed (new naming).
279+
public static extern bool resizeableActivity
280+
{
281+
[NativeMethod("GetAndroidResizeableActivity")]
274282
get;
275-
[NativeMethod("SetAndroidResizableWindow")]
283+
[NativeMethod("SetAndroidResizeableActivity")]
276284
set;
277285
}
278286

0 commit comments

Comments
 (0)