Skip to content

Commit 6ee67ea

Browse files
author
Unity Technologies
committed
Unity 2019.1.0a2 C# reference source code
1 parent 7038d6c commit 6ee67ea

File tree

155 files changed

+3167
-2794
lines changed

Some content is hidden

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

155 files changed

+3167
-2794
lines changed

Editor/Mono/Animation/AnimationWindow/AnimationRecording.cs

+3-2
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@
33
// https://unity3d.com/legal/licenses/Unity_Reference_Only_License
44

55
using System;
6+
using System.Collections.Generic;
7+
using System.Globalization;
68
using System.Linq;
79
using UnityEngine;
810
using UnityEditor;
9-
using System.Collections.Generic;
1011

1112
namespace UnityEditorInternal
1213
{
@@ -484,7 +485,7 @@ static bool ValueFromPropertyModification(PropertyModification modification, Edi
484485
else
485486
{
486487
float temp;
487-
if (float.TryParse(modification.value, out temp))
488+
if (float.TryParse(modification.value, NumberStyles.Float, CultureInfo.InvariantCulture, out temp))
488489
{
489490
outObject = temp;
490491
return true;

Editor/Mono/AssemblyInfo/AssemblyInfo.cs

-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,6 @@
5858
[assembly: InternalsVisibleTo("Assembly-CSharp-Editor-testable")]
5959
[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2")]
6060
[assembly: InternalsVisibleTo("UnityEditor.InteractiveTutorialsFramework")]
61-
[assembly: InternalsVisibleTo("UnityEditor.GoogleAudioSpatializer")]
6261
[assembly: InternalsVisibleTo("UnityEditor.Networking")]
6362
[assembly: InternalsVisibleTo("UnityEditor.UI")]
6463
[assembly: InternalsVisibleTo("UnityEditor.AR")]

Editor/Mono/AssetPipeline/TextureImporter.bindings.cs

+28-2
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,14 @@ namespace UnityEditor
2020
[NativeHeader("Editor/Src/EditorUserBuildSettings.h")]
2121
public sealed partial class TextureImporter : AssetImporter, ISpriteEditorDataProvider
2222
{
23+
private string GetFixedPlatformName(string platform)
24+
{
25+
var targetGroup = BuildPipeline.GetBuildTargetGroupByName(platform);
26+
if (targetGroup != BuildTargetGroup.Unknown)
27+
return BuildPipeline.GetBuildTargetGroupName(targetGroup);
28+
return platform;
29+
}
30+
2331
[Obsolete("textureFormat is no longer accessible at the TextureImporter level. For old 'simple' formats use the textureCompression property for the equivalent automatic choice (Uncompressed for TrueColor, Compressed and HQCommpressed for 16 bits). For platform specific formats use the [[PlatformTextureSettings]] API. Using this setter will setup various parameters to match the new automatic system as well as possible. Getter will return the last value set.")]
2432
public extern TextureImporterFormat textureFormat
2533
{
@@ -96,6 +104,9 @@ public bool GetPlatformTextureSettings(string platform, out int maxTextureSize,
96104
// public API will always return a valid TextureImporterPlatformSettings, creating it based on the default one if it did not exist.
97105
public TextureImporterPlatformSettings GetPlatformTextureSettings(string platform)
98106
{
107+
// make sure we are converting the settings to use the proper BuildTargetGroupName to get them (the way it works on other importers)
108+
platform = GetFixedPlatformName(platform);
109+
99110
TextureImporterPlatformSettings dest = GetPlatformTextureSetting_Internal(platform);
100111
if (platform != dest.name)
101112
{
@@ -112,6 +123,7 @@ public TextureImporterPlatformSettings GetDefaultPlatformTextureSettings()
112123

113124
public TextureImporterFormat GetAutomaticFormat(string platform)
114125
{
126+
platform = GetFixedPlatformName(platform);
115127
TextureImporterSettings settings = new TextureImporterSettings();
116128
ReadTextureSettings(settings);
117129
TextureImporterPlatformSettings platformSettings = GetPlatformTextureSettings(platform);
@@ -161,11 +173,25 @@ public void SetPlatformTextureSettings(string platform, int maxTextureSize, Text
161173
SetPlatformTextureSettings(dest);
162174
}
163175

176+
[NativeName("SetPlatformTextureSettings")]
177+
private extern void SetPlatformTextureSettings_Internal(TextureImporterPlatformSettings platformSettings);
178+
164179
// Set specific target platform settings
165-
public extern void SetPlatformTextureSettings(TextureImporterPlatformSettings platformSettings);
180+
public void SetPlatformTextureSettings(TextureImporterPlatformSettings platformSettings)
181+
{
182+
// we need to fix the name in case the user changed it to some mismatching value
183+
platformSettings.name = GetFixedPlatformName(platformSettings.name);
184+
SetPlatformTextureSettings_Internal(platformSettings);
185+
}
166186

167187
// Clear specific target platform settings
168-
public extern void ClearPlatformTextureSettings(string platform);
188+
[NativeName("ClearPlatformTextureSettings")]
189+
private extern void ClearPlatformTextureSettings_Internal(string platform);
190+
191+
public void ClearPlatformTextureSettings(string platform)
192+
{
193+
ClearPlatformTextureSettings_Internal(GetFixedPlatformName(platform));
194+
}
169195

170196
[FreeFunction]
171197
internal static extern TextureImporterFormat DefaultFormatFromTextureParameters([NotNull] TextureImporterSettings settings, TextureImporterPlatformSettings platformSettings, bool doesTextureContainAlpha, bool sourceWasHDR, BuildTarget destinationPlatform);

Editor/Mono/AssetPipeline/TextureUtil.bindings.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ public static int GetDefaultCompressionQuality()
108108
public static extern void CopyCubemapFaceIntoTexture(Cubemap cubemapRef, CubemapFace face, Texture2D textureRef);
109109

110110
[FreeFunction]
111-
public static extern bool ReformatCubemap(ref Cubemap cubemap, int width, int height, TextureFormat textureFormat, bool useMipmap, bool linear);
111+
public static extern bool ReformatCubemap(Cubemap cubemap, int width, int height, TextureFormat textureFormat, bool useMipmap, bool linear);
112112

113113
[FreeFunction]
114114
public static extern bool ReformatTexture(ref Texture2D texture, int width, int height, TextureFormat textureFormat, bool useMipmap, bool linear);

Editor/Mono/AssetPostprocessor.cs

+12-2
Original file line numberDiff line numberDiff line change
@@ -263,10 +263,10 @@ static string GetMeshProcessorsHashString()
263263
var inst = Activator.CreateInstance(assetPostprocessorClass) as AssetPostprocessor;
264264
var type = inst.GetType();
265265
bool hasPreProcessMethod = type.GetMethod("OnPreprocessModel", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance) != null;
266-
bool hasProcessMeshAssignMethod = type.GetMethod("OnProcessMeshAssingModel", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance) != null;
266+
bool hasPostprocessMeshHierarchy = type.GetMethod("OnPostprocessMeshHierarchy", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance) != null;
267267
bool hasPostProcessMethod = type.GetMethod("OnPostprocessModel", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance) != null;
268268
uint version = inst.GetVersion();
269-
if (version != 0 && (hasPreProcessMethod || hasProcessMeshAssignMethod || hasPostProcessMethod))
269+
if (version != 0 && (hasPreProcessMethod || hasPostprocessMeshHierarchy || hasPostProcessMethod))
270270
{
271271
versionsByType.Add(type.FullName, version);
272272
}
@@ -356,6 +356,16 @@ static bool ProcessMeshHasAssignMaterial()
356356
return false;
357357
}
358358

359+
[RequiredByNativeCode]
360+
static void PostprocessMeshHierarchy(GameObject root)
361+
{
362+
foreach (AssetPostprocessor inst in m_ImportProcessors)
363+
{
364+
object[] args = { root };
365+
AttributeHelper.InvokeMemberIfAvailable(inst, "OnPostprocessMeshHierarchy", args);
366+
}
367+
}
368+
359369
static void PostprocessMesh(GameObject gameObject)
360370
{
361371
foreach (AssetPostprocessor inst in m_ImportProcessors)

Editor/Mono/BuildPipeline/BuildPlatform.cs

+38-56
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
using UnityEditor;
66
using UnityEngine;
77
using System.Collections.Generic;
8+
using DiscoveredTargetInfo = UnityEditor.BuildTargetDiscovery.DiscoveredTargetInfo;
9+
using TargetAttributes = UnityEditor.BuildTargetDiscovery.TargetAttributes;
810

911
namespace UnityEditor.Build
1012
{
@@ -18,55 +20,22 @@ internal class BuildPlatform
1820
public BuildTargetGroup targetGroup;
1921
public bool forceShowTarget;
2022
public string tooltip;
23+
public BuildTarget defaultTarget;
2124

22-
public BuildPlatform(string locTitle, string iconId, BuildTargetGroup targetGroup, bool forceShowTarget)
23-
: this(locTitle, "", iconId, targetGroup, forceShowTarget)
25+
public BuildPlatform(string locTitle, string iconId, BuildTargetGroup targetGroup, BuildTarget defaultTarget, bool forceShowTarget)
26+
: this(locTitle, "", iconId, targetGroup, defaultTarget, forceShowTarget)
2427
{
2528
}
2629

27-
public BuildPlatform(string locTitle, string tooltip, string iconId, BuildTargetGroup targetGroup, bool forceShowTarget)
30+
public BuildPlatform(string locTitle, string tooltip, string iconId, BuildTargetGroup targetGroup, BuildTarget defaultTarget, bool forceShowTarget)
2831
{
2932
this.targetGroup = targetGroup;
3033
name = targetGroup != BuildTargetGroup.Unknown ? BuildPipeline.GetBuildTargetGroupName(defaultTarget) : "";
3134
title = EditorGUIUtility.TextContentWithIcon(locTitle, iconId);
3235
smallIcon = EditorGUIUtility.IconContent(iconId + ".Small").image as Texture2D;
3336
this.tooltip = tooltip;
3437
this.forceShowTarget = forceShowTarget;
35-
}
36-
37-
// ADD_NEW_PLATFORM_HERE
38-
public BuildTarget defaultTarget
39-
{
40-
get
41-
{
42-
switch (targetGroup)
43-
{
44-
case BuildTargetGroup.Standalone:
45-
return BuildTarget.StandaloneWindows;
46-
case BuildTargetGroup.iOS:
47-
return BuildTarget.iOS;
48-
case BuildTargetGroup.tvOS:
49-
return BuildTarget.tvOS;
50-
case BuildTargetGroup.PS4:
51-
return BuildTarget.PS4;
52-
case BuildTargetGroup.XboxOne:
53-
return BuildTarget.XboxOne;
54-
case BuildTargetGroup.Android:
55-
return BuildTarget.Android;
56-
case BuildTargetGroup.Switch:
57-
return BuildTarget.Switch;
58-
case BuildTargetGroup.WebGL:
59-
return BuildTarget.WebGL;
60-
case BuildTargetGroup.WSA:
61-
return BuildTarget.WSAPlayer;
62-
case BuildTargetGroup.Facebook:
63-
return BuildTarget.StandaloneWindows64;
64-
case BuildTargetGroup.Lumin:
65-
return BuildTarget.Lumin;
66-
default:
67-
return (BuildTarget)(-1);
68-
}
69-
}
38+
this.defaultTarget = defaultTarget;
7039
}
7140
};
7241

@@ -84,27 +53,32 @@ public static BuildPlatforms instance
8453

8554
internal BuildPlatforms()
8655
{
87-
// This is pretty brittle, notLicensedMessages and buildTargetNotInstalled below must match the order here
88-
// and since NaCl isn't listed in the build settings like the other platforms you must not add anything after it, if it
89-
// must also be added in the license/notinstalled arrays.
90-
// ADD_NEW_PLATFORM_HERE
9156
List<BuildPlatform> buildPlatformsList = new List<BuildPlatform>();
92-
buildPlatformsList.Add(new BuildPlatform("PC, Mac & Linux Standalone", "BuildSettings.Standalone", BuildTargetGroup.Standalone, true));
93-
buildPlatformsList.Add(new BuildPlatform("iOS", "BuildSettings.iPhone", BuildTargetGroup.iOS, true));
94-
// TVOS TODO change the icon when it's ready
95-
buildPlatformsList.Add(new BuildPlatform("tvOS", "BuildSettings.tvOS", BuildTargetGroup.tvOS, true));
96-
buildPlatformsList.Add(new BuildPlatform("Android", "BuildSettings.Android", BuildTargetGroup.Android, true));
97-
buildPlatformsList.Add(new BuildPlatform("Xbox One", "BuildSettings.XboxOne", BuildTargetGroup.XboxOne, true));
98-
buildPlatformsList.Add(new BuildPlatform("PS4", "BuildSettings.PS4", BuildTargetGroup.PS4, true));
99-
buildPlatformsList.Add(new BuildPlatform("Universal Windows Platform", "BuildSettings.Metro", BuildTargetGroup.WSA, true));
100-
buildPlatformsList.Add(new BuildPlatform("WebGL", "BuildSettings.WebGL", BuildTargetGroup.WebGL, true));
101-
buildPlatformsList.Add(new BuildPlatform("Facebook", "BuildSettings.Facebook", BuildTargetGroup.Facebook, true));
102-
buildPlatformsList.Add(new BuildPlatform("Nintendo Switch", "BuildSettings.Switch", BuildTargetGroup.Switch, false));
103-
buildPlatformsList.Add(new BuildPlatform("Lumin", "BuildSettings.Lumin", BuildTargetGroup.Lumin, false));
57+
DiscoveredTargetInfo[] buildTargets = BuildTargetDiscovery.GetBuildTargetInfoList();
58+
59+
// Standalone needs to be first
60+
buildPlatformsList.Add(new BuildPlatform(BuildPipeline.GetBuildTargetGroupDisplayName(BuildTargetGroup.Standalone), "BuildSettings.Standalone", BuildTargetGroup.Standalone, BuildTarget.StandaloneWindows, true));
61+
62+
foreach (var target in buildTargets)
63+
{
64+
if (!target.HasFlag(TargetAttributes.IsStandalonePlatform))
65+
{
66+
BuildTargetGroup btg = BuildPipeline.GetBuildTargetGroup(target.buildTgtPlatformVal);
67+
buildPlatformsList.Add(new BuildPlatform(
68+
BuildPipeline.GetBuildTargetGroupDisplayName(btg),
69+
target.iconName,
70+
btg,
71+
target.buildTgtPlatformVal,
72+
!target.HasFlag(TargetAttributes.HideInUI)));
73+
}
74+
}
75+
76+
// Facebook is a special case and needs to be added separately
77+
buildPlatformsList.Add(new BuildPlatform(BuildPipeline.GetBuildTargetGroupDisplayName(BuildTargetGroup.Facebook), "BuildSettings.Facebook", BuildTargetGroup.Facebook, BuildTarget.StandaloneWindows64, true));
10478

10579
foreach (var buildPlatform in buildPlatformsList)
10680
{
107-
buildPlatform.tooltip = BuildPipeline.GetBuildTargetGroupDisplayName(buildPlatform.targetGroup) + " settings";
81+
buildPlatform.tooltip = buildPlatform.title.text + " settings";
10882
}
10983

11084
buildPlatforms = buildPlatformsList.ToArray();
@@ -152,14 +126,22 @@ public string GetModuleDisplayName(BuildTargetGroup buildTargetGroup, BuildTarge
152126
}
153127
}
154128

155-
public int BuildPlatformIndexFromTargetGroup(BuildTargetGroup group)
129+
private int BuildPlatformIndexFromTargetGroup(BuildTargetGroup group)
156130
{
157131
for (int i = 0; i < buildPlatforms.Length; i++)
158132
if (group == buildPlatforms[i].targetGroup)
159133
return i;
160134
return -1;
161135
}
162136

137+
public bool ContainsBuildTarget(BuildTargetGroup group)
138+
{
139+
if (BuildPlatformIndexFromTargetGroup(group) < 0)
140+
return false;
141+
142+
return true;
143+
}
144+
163145
public BuildPlatform BuildPlatformFromTargetGroup(BuildTargetGroup group)
164146
{
165147
int index = BuildPlatformIndexFromTargetGroup(group);

Editor/Mono/BuildPipeline/DesktopStandalonePostProcessor.cs

-2
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,6 @@ public override void UpdateBootConfig(BuildTarget target, BootConfigData config,
8585
config.Set("mono-codegen", "il2cpp");
8686
if ((options & BuildOptions.EnableHeadlessMode) != 0)
8787
config.AddKey("headless");
88-
if (PlayerSettings.gcWBarrierValidation)
89-
config.AddKey("validate-write-barriers");
9088
}
9189

9290
private void CopyNativePlugins(BuildPostProcessArgs args, out List<string> cppPlugins)

Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs

+1-8
Original file line numberDiff line numberDiff line change
@@ -137,14 +137,7 @@ static public bool SupportsInstallInBuildFolder(BuildTargetGroup targetGroup, Bu
137137
return postprocessor.SupportsInstallInBuildFolder();
138138
}
139139

140-
switch (target)
141-
{
142-
case BuildTarget.Android:
143-
case BuildTarget.WSAPlayer:
144-
return true;
145-
default:
146-
return false;
147-
}
140+
return false;
148141
}
149142

150143
static public bool SupportsLz4Compression(BuildTargetGroup targetGroup, BuildTarget target)

0 commit comments

Comments
 (0)