Skip to content

Commit 11bcfd8

Browse files
author
Unity Technologies
committed
Unity 2018.1.0b11 C# reference source code
1 parent 723b0d3 commit 11bcfd8

File tree

63 files changed

+1037
-1017
lines changed

Some content is hidden

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

63 files changed

+1037
-1017
lines changed

Editor/Mono/AssemblyHelper.cs

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -75,20 +75,34 @@ static AssemblyDefinition GetAssemblyDefinitionCached(string path, Dictionary<st
7575
return definition;
7676
}
7777

78+
static private bool CouldBelongToDotNetOrWindowsRuntime(string assemblyPath)
79+
{
80+
return assemblyPath.IndexOf("mscorlib.dll") != -1 ||
81+
assemblyPath.IndexOf("System.") != -1 ||
82+
assemblyPath.IndexOf("Windows.dll") != -1 ||
83+
assemblyPath.IndexOf("Microsoft.") != -1 ||
84+
assemblyPath.IndexOf("Windows.") != -1 ||
85+
assemblyPath.IndexOf("WinRTLegacy.dll") != -1 ||
86+
assemblyPath.IndexOf("platform.dll") != -1;
87+
}
88+
7889
static private bool IgnoreAssembly(string assemblyPath, BuildTarget target)
7990
{
80-
if (target == BuildTarget.WSAPlayer ||
81-
(target == BuildTarget.XboxOne && PlayerSettings.GetApiCompatibilityLevel(BuildTargetGroup.XboxOne) == ApiCompatibilityLevel.NET_4_6))
91+
if (target == BuildTarget.WSAPlayer)
8292
{
83-
if (assemblyPath.IndexOf("mscorlib.dll") != -1 ||
84-
assemblyPath.IndexOf("System.") != -1 ||
85-
assemblyPath.IndexOf("Windows.dll") != -1 ||
86-
assemblyPath.IndexOf("Microsoft.") != -1 ||
87-
assemblyPath.IndexOf("Windows.") != -1 ||
88-
assemblyPath.IndexOf("WinRTLegacy.dll") != -1 ||
89-
assemblyPath.IndexOf("platform.dll") != -1)
93+
if (CouldBelongToDotNetOrWindowsRuntime(assemblyPath))
9094
return true;
9195
}
96+
else if (target == BuildTarget.XboxOne)
97+
{
98+
var profile = PlayerSettings.GetApiCompatibilityLevel(BuildTargetGroup.XboxOne);
99+
if (profile == ApiCompatibilityLevel.NET_4_6 || profile == ApiCompatibilityLevel.NET_Standard_2_0)
100+
{
101+
if (CouldBelongToDotNetOrWindowsRuntime(assemblyPath))
102+
return true;
103+
}
104+
}
105+
92106
return IsInternalAssembly(assemblyPath);
93107
}
94108

Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
using PackageInfo = Unity.DataContract.PackageInfo;
2121
using System.Xml.Linq;
2222
using System.Xml.XPath;
23+
using UnityEditor.Experimental.Build.Player;
2324

2425
namespace UnityEditorInternal
2526
{
@@ -288,13 +289,14 @@ private void ConvertPlayerDlltoCpp(ICollection<string> userAssemblies, string ou
288289
if (PlayerSettings.GetApiCompatibilityLevel(buildTargetGroup) == ApiCompatibilityLevel.NET_Standard_2_0)
289290
arguments.Add("--dotnetprofile=\"unityaot\"");
290291

291-
var useDebugBuild = EditorUserBuildSettings.allowDebugging;
292-
if (useDebugBuild && platformSupportsManagedDebugging && EditorApplication.scriptingRuntimeVersion == ScriptingRuntimeVersion.Latest)
292+
if (EditorUserBuildSettings.allowDebugging && platformSupportsManagedDebugging && EditorApplication.scriptingRuntimeVersion == ScriptingRuntimeVersion.Latest)
293293
arguments.Add("--enable-debugger");
294294

295295
var il2CppNativeCodeBuilder = m_PlatformProvider.CreateIl2CppNativeCodeBuilder();
296296
if (il2CppNativeCodeBuilder != null)
297297
{
298+
var useDebugBuild = PlayerSettings.GetIl2CppCompilerConfiguration(buildTargetGroup) == Il2CppCompilerConfiguration.Debug;
299+
298300
Il2CppNativeCodeBuilderUtils.ClearAndPrepareCacheDirectory(il2CppNativeCodeBuilder);
299301
arguments.AddRange(Il2CppNativeCodeBuilderUtils.AddBuilderArguments(il2CppNativeCodeBuilder, OutputFileRelativePath(), m_PlatformProvider.includePaths, useDebugBuild));
300302
}
@@ -329,6 +331,19 @@ private void ConvertPlayerDlltoCpp(ICollection<string> userAssemblies, string ou
329331
if (il2CppNativeCodeBuilder != null)
330332
setupStartInfo = il2CppNativeCodeBuilder.SetupStartInfo;
331333

334+
if (PlayerBuildInterface.ExtraTypesProvider != null)
335+
{
336+
var extraTypes = new HashSet<string>();
337+
foreach (var extraType in PlayerBuildInterface.ExtraTypesProvider())
338+
{
339+
extraTypes.Add(extraType);
340+
}
341+
342+
var tempFile = Path.GetFullPath(Path.Combine(m_TempFolder, "extra-types.txt"));
343+
File.WriteAllLines(tempFile, extraTypes.ToArray());
344+
arguments.Add(string.Format("--extra-types-file=\"{0}\"", tempFile));
345+
}
346+
332347
RunIl2CppWithArguments(arguments, setupStartInfo, workingDirectory);
333348
}
334349

Editor/Mono/Collab/CollabHistoryWindow.cs

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ public static bool ValidateShowHistoryWindow()
3838
HistoryState m_State;
3939
VisualElement m_Container;
4040
PagedListView m_Pager;
41+
ScrollView m_HistoryView;
4142
int m_ItemsPerPage = 5;
4243
string m_InProgressRev;
4344
bool m_RevisionActionsEnabled;
@@ -100,7 +101,6 @@ public void SetupGUI()
100101
m_Pager = new PagedListView()
101102
{
102103
name = "PagedElement",
103-
PagerLoc = PagerLocation.Top,
104104
pageSize = m_ItemsPerPage
105105
};
106106

@@ -140,9 +140,9 @@ public void SetupGUI()
140140
message = "Updating...",
141141
};
142142

143-
var historyView = new ScrollView() { name = "HistoryContainer", showHorizontal = false};
144-
historyView.contentContainer.StretchToParentWidth();
145-
historyView.Add(m_Pager);
143+
m_HistoryView = new ScrollView() { name = "HistoryContainer", showHorizontal = false};
144+
m_HistoryView.contentContainer.StretchToParentWidth();
145+
m_HistoryView.Add(m_Pager);
146146

147147
m_Views = new Dictionary<HistoryState, VisualElement>()
148148
{
@@ -152,7 +152,7 @@ public void SetupGUI()
152152
{HistoryState.LoggedOut, loginView},
153153
{HistoryState.NoSeat, noSeatView},
154154
{HistoryState.Waiting, waitingView},
155-
{HistoryState.Ready, historyView}
155+
{HistoryState.Ready, m_HistoryView}
156156
};
157157
}
158158

@@ -176,7 +176,7 @@ public void UpdateState(HistoryState state, bool force)
176176
m_Container.Add(m_Views[m_State]);
177177
}
178178

179-
public void UpdateRevisions(IEnumerable<RevisionData> datas, string tip, int totalRevisions)
179+
public void UpdateRevisions(IEnumerable<RevisionData> datas, string tip, int totalRevisions, int currentPage)
180180
{
181181
var elements = new List<VisualElement>();
182182
var isFullDateObtained = false; // Has everything from this date been obtained?
@@ -219,7 +219,9 @@ public void UpdateRevisions(IEnumerable<RevisionData> datas, string tip, int tot
219219
}
220220
}
221221

222+
m_HistoryView.scrollOffset = new Vector2(0, 0);
222223
m_Pager.totalItems = totalRevisions;
224+
m_Pager.curPage = currentPage;
223225
m_Pager.items = elements;
224226
}
225227

@@ -248,7 +250,7 @@ public int itemsPerPage
248250

249251
public PageChangeAction OnPageChangeAction
250252
{
251-
set { m_Pager.OnPageChange = value; }
253+
set { m_Pager.OnPageChanged = value; }
252254
}
253255

254256
public RevisionAction OnGoBackAction
@@ -276,11 +278,11 @@ public Action OnShowServicesAction
276278
set { CollabHistoryItem.s_OnShowServices = value; }
277279
}
278280

279-
private void UpdateHistoryView(VisualElement history)
281+
void UpdateHistoryView(VisualElement history)
280282
{
281283
}
282284

283-
private void NoSeatClick()
285+
void NoSeatClick()
284286
{
285287
var connection = UnityConnect.instance;
286288
var env = connection.GetEnvironment();
@@ -297,7 +299,7 @@ private void NoSeatClick()
297299
Application.OpenURL(url);
298300
}
299301

300-
private void SignInClick()
302+
void SignInClick()
301303
{
302304
UnityConnect.instance.ShowLogin();
303305
}

Editor/Mono/Collab/Presenters/CollabHistoryPresenter.cs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ internal class CollabHistoryPresenter
1919
bool m_IsCollabError;
2020
int m_TotalRevisions;
2121
int m_CurrentPage;
22+
int m_RequestedPage;
2223
bool m_FetchInProgress;
2324

2425
BuildAccess m_BuildAccess;
@@ -134,7 +135,8 @@ string tip
134135

135136
private void OnCollabRevisionUpdated(CollabInfo state)
136137
{
137-
OnUpdatePage(m_CurrentPage);
138+
if (m_CollabState.tip != state.tip)
139+
OnUpdatePage(m_CurrentPage);
138140
}
139141

140142
private void OnCollabJobsCompleted(CollabInfo state)
@@ -151,6 +153,8 @@ private void OnCollabError()
151153
private void OnCollabErrorCleared()
152154
{
153155
m_IsCollabError = false;
156+
m_FetchInProgress = true;
157+
m_Service.GetRevisions(m_CurrentPage * k_ItemsPerPage, k_ItemsPerPage);
154158
m_Window.UpdateState(RecalculateState(), false);
155159
}
156160

@@ -231,7 +235,7 @@ public void OnUpdatePage(int page)
231235
m_FetchInProgress = true;
232236
m_Service.GetRevisions(page * k_ItemsPerPage, k_ItemsPerPage);
233237
m_Window.UpdateState(RecalculateState(), false);
234-
m_CurrentPage = page;
238+
m_RequestedPage = page;
235239
}
236240

237241
private void OnFetchRevisions(RevisionsResult data)
@@ -240,13 +244,14 @@ private void OnFetchRevisions(RevisionsResult data)
240244
IEnumerable<RevisionData> items = null;
241245
if (data != null)
242246
{
247+
m_CurrentPage = m_RequestedPage;
243248
m_TotalRevisions = data.RevisionsInRepo;
244249
items = m_Factory.GenerateElements(data.Revisions, m_TotalRevisions, m_CurrentPage * k_ItemsPerPage, m_Service.tipRevision, m_Window.inProgressRevision, m_Window.revisionActionsEnabled, BuildServiceEnabled, m_Service.currentUser);
245250
}
246251

247252
// State must be recalculated prior to inserting items
248253
m_Window.UpdateState(RecalculateState(), false);
249-
m_Window.UpdateRevisions(items, m_Service.tipRevision, m_TotalRevisions);
254+
m_Window.UpdateRevisions(items, m_Service.tipRevision, m_TotalRevisions, m_CurrentPage);
250255
}
251256

252257
private void OnRestore(string revisionId, bool updatetorevision)

Editor/Mono/Collab/Views/ICollabHistoryWindow.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ internal struct ChangeData
6565
internal interface ICollabHistoryWindow
6666
{
6767
void UpdateState(HistoryState state, bool force);
68-
void UpdateRevisions(IEnumerable<RevisionData> items, string tip, int totalRevisions);
68+
void UpdateRevisions(IEnumerable<RevisionData> items, string tip, int totalRevisions, int currentPage);
6969

7070
bool revisionActionsEnabled { get; set; }
7171
int itemsPerPage { set; }

0 commit comments

Comments
 (0)