Skip to content

Commit a62850c

Browse files
author
Unity Technologies
committed
Unity 2018.2.0a3 C# reference source code
1 parent dba3f74 commit a62850c

225 files changed

Lines changed: 5296 additions & 9352 deletions

File tree

Some content is hidden

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

Editor/Mono/2D/Common/TexturePlatformSettingsController.cs

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -15,25 +15,25 @@ public bool HandleDefaultSettings(List<TextureImporterPlatformSettings> platform
1515
{
1616
Assert.IsTrue(platformSettings.Count > 0, "At least 1 platform setting is needed to display the texture platform setting UI.");
1717

18-
int allSize = platformSettings[0].maxTextureSize;
19-
TextureImporterCompression allCompression = platformSettings[0].textureCompression;
20-
bool allUseCrunchedCompression = platformSettings[0].crunchedCompression;
21-
int allCompressionQuality = platformSettings[0].compressionQuality;
18+
var allSize = platformSettings[0].maxTextureSize;
19+
var allCompression = platformSettings[0].textureCompression;
20+
var allUseCrunchedCompression = platformSettings[0].crunchedCompression;
21+
var allCompressionQuality = platformSettings[0].compressionQuality;
2222

2323
var newSize = allSize;
2424
var newCompression = allCompression;
2525
var newUseCrunchedCompression = allUseCrunchedCompression;
2626
var newCompressionQuality = allCompressionQuality;
2727

28-
bool mixedSize = false;
29-
bool mixedCompression = false;
30-
bool mixedUseCrunchedCompression = false;
31-
bool mixedCompressionQuality = false;
28+
var mixedSize = false;
29+
var mixedCompression = false;
30+
var mixedUseCrunchedCompression = false;
31+
var mixedCompressionQuality = false;
3232

33-
bool sizeChanged = false;
34-
bool compressionChanged = false;
35-
bool useCrunchedCompressionChanged = false;
36-
bool compressionQualityChanged = false;
33+
var sizeChanged = false;
34+
var compressionChanged = false;
35+
var useCrunchedCompressionChanged = false;
36+
var compressionQualityChanged = false;
3737

3838
for (var i = 1; i < platformSettings.Count; ++i)
3939
{
@@ -83,25 +83,25 @@ public bool HandlePlatformSettings(BuildTarget buildTarget, List<TextureImporter
8383
{
8484
Assert.IsTrue(platformSettings.Count > 0, "At least 1 platform setting is needed to display the texture platform setting UI.");
8585

86-
bool allOverride = platformSettings[0].overridden;
87-
int allSize = platformSettings[0].maxTextureSize;
88-
TextureImporterFormat allFormat = platformSettings[0].format;
89-
int allCompressionQuality = platformSettings[0].compressionQuality;
86+
var allOverride = platformSettings[0].overridden;
87+
var allSize = platformSettings[0].maxTextureSize;
88+
var allFormat = platformSettings[0].format;
89+
var allCompressionQuality = platformSettings[0].compressionQuality;
9090

9191
var newOverride = allOverride;
9292
var newSize = allSize;
9393
var newFormat = allFormat;
9494
var newCompressionQuality = allCompressionQuality;
9595

96-
bool mixedOverride = false;
97-
bool mixedSize = false;
98-
bool mixedFormat = false;
99-
bool mixedCompression = false;
96+
var mixedOverride = false;
97+
var mixedSize = false;
98+
var mixedFormat = false;
99+
var mixedCompression = false;
100100

101-
bool overrideChanged = false;
102-
bool sizeChanged = false;
103-
bool formatChanged = false;
104-
bool compressionChanged = false;
101+
var overrideChanged = false;
102+
var sizeChanged = false;
103+
var formatChanged = false;
104+
var compressionChanged = false;
105105

106106
for (var i = 1; i < platformSettings.Count; ++i)
107107
{
@@ -139,7 +139,7 @@ public bool HandlePlatformSettings(BuildTarget buildTarget, List<TextureImporter
139139

140140
if (showAsEnum)
141141
{
142-
int compressionMode = 1;
142+
var compressionMode = 1;
143143
if (allCompressionQuality == (int)TextureCompressionQuality.Fast)
144144
compressionMode = 0;
145145
else if (allCompressionQuality == (int)TextureCompressionQuality.Best)
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
// Unity C# reference source
2+
// Copyright (c) Unity Technologies. For terms of use, see
3+
// https://unity3d.com/legal/licenses/Unity_Reference_Only_License
4+
5+
using System.Runtime.InteropServices;
6+
7+
using UnityEngine;
8+
using UnityEngine.U2D;
9+
using UnityEngine.Bindings;
10+
11+
namespace UnityEditor.U2D
12+
{
13+
[NativeHeader("Runtime/2D/SpriteAtlas/SpriteAtlas.h")]
14+
[NativeHeader("Editor/Src/2D/SpriteAtlas/SpriteAtlasPackingUtilities.h")]
15+
public class SpriteAtlasUtility
16+
{
17+
[FreeFunction("CollectAllSpriteAtlasesAndPack")]
18+
extern public static void PackAllAtlases(BuildTarget target);
19+
20+
[FreeFunction("PackSpriteAtlases")]
21+
extern public static void PackAtlases(SpriteAtlas[] atlases, BuildTarget target);
22+
}
23+
24+
[StructLayout(LayoutKind.Sequential)]
25+
public struct SpriteAtlasTextureSettings
26+
{
27+
[NativeName("anisoLevel")]
28+
private int m_AnisoLevel;
29+
[NativeName("compressionQuality")]
30+
private int m_CompressionQuality;
31+
[NativeName("maxTextureSize")]
32+
private int m_MaxTextureSize;
33+
[NativeName("textureCompression")]
34+
private int m_TextureCompression;
35+
[NativeName("filterMode")]
36+
private int m_FilterMode;
37+
[NativeName("generateMipMaps")]
38+
private bool m_GenerateMipMaps;
39+
[NativeName("readable")]
40+
private bool m_Readable;
41+
[NativeName("crunchedCompression")]
42+
private bool m_CrunchedCompression;
43+
[NativeName("sRGB")]
44+
private bool m_sRGB;
45+
46+
public int anisoLevel { get { return m_AnisoLevel; } set { m_AnisoLevel = value; } }
47+
public FilterMode filterMode { get { return (FilterMode)m_FilterMode; } set { m_FilterMode = (int)value; } }
48+
public bool generateMipMaps { get { return m_GenerateMipMaps; } set { m_GenerateMipMaps = value; } }
49+
public bool readable { get { return m_Readable; } set { m_Readable = value; } }
50+
public bool sRGB { get { return m_sRGB; } set { m_sRGB = value; } }
51+
}
52+
53+
[StructLayout(LayoutKind.Sequential)]
54+
public struct SpriteAtlasPackingSettings
55+
{
56+
[NativeName("blockOffset")]
57+
private int m_BlockOffset;
58+
[NativeName("padding")]
59+
private int m_Padding;
60+
[NativeName("allowAlphaSplitting")]
61+
private bool m_AllowAlphaSplitting;
62+
[NativeName("enableRotation")]
63+
private bool m_EnableRotation;
64+
[NativeName("enableTightPacking")]
65+
private bool m_EnableTightPacking;
66+
67+
public int blockOffset { get { return m_BlockOffset; } set { m_BlockOffset = value; } }
68+
public int padding { get { return m_Padding; } set { m_Padding = value; } }
69+
public bool enableRotation { get { return m_EnableRotation; } set { m_EnableRotation = value; } }
70+
public bool enableTightPacking { get { return m_EnableTightPacking; } set { m_EnableTightPacking = value; } }
71+
}
72+
73+
[NativeHeader("Editor/Src/AssetPipeline/TextureImporting/TextureImporterTypes.h")]
74+
[NativeHeader("Editor/Src/AssetPipeline/TextureImporting/TextureImporter.bindings.h")]
75+
[NativeHeader("Editor/Src/2D/SpriteAtlas/SpriteAtlas_EditorTypes.h")]
76+
[NativeHeader("Runtime/2D/SpriteAtlas/SpriteAtlas.h")]
77+
public static class SpriteAtlasExtensions
78+
{
79+
extern public static void Add(this SpriteAtlas spriteAtlas, UnityEngine.Object[] objects);
80+
extern public static void Remove(this SpriteAtlas spriteAtlas, UnityEngine.Object[] objects);
81+
extern internal static void RemoveAt(this SpriteAtlas spriteAtlas, int index);
82+
extern public static UnityEngine.Object[] GetPackables(this SpriteAtlas spriteAtlas);
83+
extern public static SpriteAtlasTextureSettings GetTextureSettings(this SpriteAtlas spriteAtlas);
84+
extern public static void SetTextureSettings(this SpriteAtlas spriteAtlas, SpriteAtlasTextureSettings src);
85+
extern public static SpriteAtlasPackingSettings GetPackingSettings(this SpriteAtlas spriteAtlas);
86+
extern public static void SetPackingSettings(this SpriteAtlas spriteAtlas, SpriteAtlasPackingSettings src);
87+
extern public static TextureImporterPlatformSettings GetPlatformSettings(this SpriteAtlas spriteAtlas, string buildTarget);
88+
extern public static void SetPlatformSettings(this SpriteAtlas spriteAtlas, TextureImporterPlatformSettings src);
89+
extern public static void SetIncludeInBuild(this SpriteAtlas spriteAtlas, bool value);
90+
extern public static void SetIsVariant(this SpriteAtlas spriteAtlas, bool value);
91+
extern public static void SetMasterAtlas(this SpriteAtlas spriteAtlas, SpriteAtlas value);
92+
extern public static void SetVariantScale(this SpriteAtlas spriteAtlas, float value);
93+
extern internal static void CopyMasterAtlasSettings(this SpriteAtlas spriteAtlas);
94+
extern internal static string GetHash(this SpriteAtlas spriteAtlas);
95+
extern internal static Texture2D[] GetPreviewTextures(this SpriteAtlas spriteAtlas);
96+
extern internal static TextureFormat GetTextureFormat(this SpriteAtlas spriteAtlas, BuildTarget target);
97+
}
98+
}

Editor/Mono/2D/SpriteAtlas/SpriteAtlasInspector.cs

Lines changed: 22 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -97,14 +97,8 @@ public Styles()
9797

9898
private static Styles s_Styles;
9999

100-
private readonly string kDefaultPlatformName = "default";
101-
102100
private enum AtlasType { Undefined = -1, Master = 0, Variant = 1 }
103101

104-
private SerializedProperty m_MaxTextureSize;
105-
private SerializedProperty m_TextureCompression;
106-
private SerializedProperty m_UseCrunchedCompression;
107-
private SerializedProperty m_CompressionQuality;
108102
private SerializedProperty m_FilterMode;
109103
private SerializedProperty m_AnisoLevel;
110104
private SerializedProperty m_GenerateMipMaps;
@@ -117,7 +111,7 @@ private enum AtlasType { Undefined = -1, Master = 0, Variant = 1 }
117111
private SerializedProperty m_Packables;
118112

119113
private SerializedProperty m_MasterAtlas;
120-
private SerializedProperty m_VariantMultiplier;
114+
private SerializedProperty m_VariantScale;
121115

122116
private string m_Hash;
123117
private int m_PreviewPage = 0;
@@ -176,23 +170,19 @@ bool AllTargetsAreMaster()
176170

177171
void OnEnable()
178172
{
179-
m_MaxTextureSize = serializedObject.FindProperty("m_EditorData.textureSettings.maxTextureSize");
180-
m_TextureCompression = serializedObject.FindProperty("m_EditorData.textureSettings.textureCompression");
181-
m_UseCrunchedCompression = serializedObject.FindProperty("m_EditorData.textureSettings.crunchedCompression");
182-
m_CompressionQuality = serializedObject.FindProperty("m_EditorData.textureSettings.compressionQuality");
183173
m_FilterMode = serializedObject.FindProperty("m_EditorData.textureSettings.filterMode");
184174
m_AnisoLevel = serializedObject.FindProperty("m_EditorData.textureSettings.anisoLevel");
185175
m_GenerateMipMaps = serializedObject.FindProperty("m_EditorData.textureSettings.generateMipMaps");
186176
m_Readable = serializedObject.FindProperty("m_EditorData.textureSettings.readable");
187177
m_UseSRGB = serializedObject.FindProperty("m_EditorData.textureSettings.sRGB");
188178

189-
m_EnableTightPacking = serializedObject.FindProperty("m_EditorData.packingParameters.enableTightPacking");
190-
m_EnableRotation = serializedObject.FindProperty("m_EditorData.packingParameters.enableRotation");
191-
m_Padding = serializedObject.FindProperty("m_EditorData.packingParameters.padding");
179+
m_EnableTightPacking = serializedObject.FindProperty("m_EditorData.packingSettings.enableTightPacking");
180+
m_EnableRotation = serializedObject.FindProperty("m_EditorData.packingSettings.enableRotation");
181+
m_Padding = serializedObject.FindProperty("m_EditorData.packingSettings.padding");
192182

193183
m_MasterAtlas = serializedObject.FindProperty("m_MasterAtlas");
194184
m_BindAsDefault = serializedObject.FindProperty("m_EditorData.bindAsDefault");
195-
m_VariantMultiplier = serializedObject.FindProperty("m_EditorData.variantMultiplier");
185+
m_VariantScale = serializedObject.FindProperty("m_EditorData.variantMultiplier");
196186

197187
m_Packables = serializedObject.FindProperty("m_EditorData.packables");
198188
m_PackableList = new ReorderableList(serializedObject, m_Packables, true, true, true, true);
@@ -218,18 +208,10 @@ void SyncPlatformSettings()
218208

219209
// Default platform
220210
var defaultSettings = new List<TextureImporterPlatformSettings>();
221-
m_TempPlatformSettings.Add(kDefaultPlatformName, defaultSettings);
222-
foreach (var t in targets)
211+
m_TempPlatformSettings.Add(TextureImporterInspector.s_DefaultPlatformName, defaultSettings);
212+
foreach (SpriteAtlas sa in targets)
223213
{
224-
TextureImporterPlatformSettings settings = new TextureImporterPlatformSettings();
225-
settings.name = kDefaultPlatformName;
226-
227-
SerializedObject targetSerializedObject = new SerializedObject(t);
228-
settings.maxTextureSize = targetSerializedObject.FindProperty("m_EditorData.textureSettings.maxTextureSize").intValue;
229-
settings.textureCompression = (TextureImporterCompression)targetSerializedObject.FindProperty("m_EditorData.textureSettings.textureCompression").enumValueIndex;
230-
settings.crunchedCompression = targetSerializedObject.FindProperty("m_EditorData.textureSettings.crunchedCompression").boolValue;
231-
settings.compressionQuality = targetSerializedObject.FindProperty("m_EditorData.textureSettings.compressionQuality").intValue;
232-
214+
var settings = sa.GetPlatformSettings(TextureImporterInspector.s_DefaultPlatformName);
233215
defaultSettings.Add(settings);
234216
}
235217

@@ -240,9 +222,7 @@ void SyncPlatformSettings()
240222
m_TempPlatformSettings.Add(platform.name, platformSettings);
241223
foreach (SpriteAtlas sa in targets)
242224
{
243-
TextureImporterPlatformSettings settings = new TextureImporterPlatformSettings();
244-
settings.name = platform.name;
245-
sa.CopyPlatformSettingsIfAvailable(platform.name, settings);
225+
var settings = sa.GetPlatformSettings(platform.name);
246226

247227
// setting will be in default state if copy failed
248228
platformSettings.Add(settings);
@@ -383,10 +363,10 @@ private void HandleCommonSettingUI()
383363
private void HandleVariantSettingUI()
384364
{
385365
EditorGUILayout.LabelField(s_Styles.variantSettingLabel, EditorStyles.boldLabel);
386-
EditorGUILayout.PropertyField(m_VariantMultiplier, s_Styles.variantMultiplierLabel);
366+
EditorGUILayout.PropertyField(m_VariantScale, s_Styles.variantMultiplierLabel);
387367

388368
// Test if the multiplier scale a power of two size (1024) into another power of 2 size.
389-
if (!Mathf.IsPowerOfTwo((int)(m_VariantMultiplier.floatValue * 1024)))
369+
if (!Mathf.IsPowerOfTwo((int)(m_VariantScale.floatValue * 1024)))
390370
EditorGUILayout.HelpBox(s_Styles.notPowerOfTwoWarning.text, MessageType.Warning, true);
391371
}
392372

@@ -436,36 +416,21 @@ private void HandlePlatformSettingUI()
436416
int shownTextureFormatPage = EditorGUILayout.BeginPlatformGrouping(m_ValidPlatforms.ToArray(), s_Styles.defaultPlatformLabel);
437417
if (shownTextureFormatPage == -1)
438418
{
439-
List<TextureImporterPlatformSettings> platformSettings = m_TempPlatformSettings[kDefaultPlatformName];
440-
List<TextureImporterPlatformSettings> newSettings = new List<TextureImporterPlatformSettings>(platformSettings.Count);
441-
for (var i = 0; i < platformSettings.Count; ++i)
442-
{
443-
TextureImporterPlatformSettings settings = new TextureImporterPlatformSettings();
444-
platformSettings[i].CopyTo(settings);
445-
newSettings.Add(settings);
446-
}
447-
448-
if (m_TexturePlatformSettingsController.HandleDefaultSettings(newSettings, m_TexturePlatformSettingsView))
419+
var platformSettings = m_TempPlatformSettings[TextureImporterInspector.s_DefaultPlatformName];
420+
if (m_TexturePlatformSettingsController.HandleDefaultSettings(platformSettings, m_TexturePlatformSettingsView))
449421
{
450-
for (var i = 0; i < newSettings.Count; ++i)
422+
for (var i = 0; i < platformSettings.Count; ++i)
451423
{
452-
if (platformSettings[i].maxTextureSize != newSettings[i].maxTextureSize)
453-
m_MaxTextureSize.intValue = newSettings[i].maxTextureSize;
454-
if (platformSettings[i].textureCompression != newSettings[i].textureCompression)
455-
m_TextureCompression.enumValueIndex = (int)newSettings[i].textureCompression;
456-
if (platformSettings[i].crunchedCompression != newSettings[i].crunchedCompression)
457-
m_UseCrunchedCompression.boolValue = newSettings[i].crunchedCompression;
458-
if (platformSettings[i].compressionQuality != newSettings[i].compressionQuality)
459-
m_CompressionQuality.intValue = newSettings[i].compressionQuality;
460-
461-
newSettings[i].CopyTo(platformSettings[i]);
424+
SpriteAtlas sa = (SpriteAtlas)targets[i];
425+
sa.SetPlatformSettings(platformSettings[i]);
462426
}
463427
}
464428
}
465429
else
466430
{
467-
BuildPlatform buildPlatform = m_ValidPlatforms[shownTextureFormatPage];
468-
List<TextureImporterPlatformSettings> platformSettings = m_TempPlatformSettings[buildPlatform.name];
431+
var buildPlatform = m_ValidPlatforms[shownTextureFormatPage];
432+
var platformSettings = m_TempPlatformSettings[buildPlatform.name];
433+
469434

470435
// Predetermine format if overridden is unchecked
471436
for (var i = 0; i < platformSettings.Count; ++i)
@@ -474,7 +439,7 @@ private void HandlePlatformSettingUI()
474439
if (!settings.overridden)
475440
{
476441
SpriteAtlas sa = (SpriteAtlas)targets[i];
477-
settings.format = sa.FormatDetermineByAtlasSettings(buildPlatform.defaultTarget);
442+
settings.format = (TextureImporterFormat)sa.GetTextureFormat(buildPlatform.defaultTarget);
478443
}
479444
}
480445

@@ -572,10 +537,10 @@ private void HandlePackableListUI()
572537

573538
void CachePreviewTexture()
574539
{
575-
if (m_PreviewTextures == null || m_Hash != spriteAtlas.GetHashString())
540+
if (m_PreviewTextures == null || m_Hash != spriteAtlas.GetHash())
576541
{
577542
m_PreviewTextures = spriteAtlas.GetPreviewTextures();
578-
m_Hash = spriteAtlas.GetHashString();
543+
m_Hash = spriteAtlas.GetHash();
579544

580545
if (m_PreviewTextures != null
581546
&& m_PreviewTextures.Length > 0

Editor/Mono/Animation/AnimatorController.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,13 @@ public void RemoveParameter(AnimatorControllerParameter parameter)
139139
parameters = parameterVector;
140140
}
141141

142+
// We cannot call AddMotion from native code, because there are multiple signatures of that method, creating ambiguity.
142143
[RequiredByNativeCode]
144+
private AnimatorState AddMotionInternal(Motion motion)
145+
{
146+
return AddMotion(motion);
147+
}
148+
143149
public AnimatorState AddMotion(Motion motion)
144150
{
145151
return AddMotion(motion, 0);

0 commit comments

Comments
 (0)