// Perform the actual window open static public void Open(ChangeSet change, AssetList assets, bool submit) { InspectorWindow.ApplyChanges(); WindowChange win = EditorWindow.GetWindow <WindowChange>(true, "Version Control Changeset"); win.allowSubmit = submit; win.DoOpen(change, assets); }
static void OnVCTaskCompletedEvent(Task task, CompletionAction completionAction) { // inspector should re-calculate which VCS buttons it needs to show InspectorWindow.ClearVersionControlBarState(); var wins = Resources.FindObjectsOfTypeAll(typeof(WindowPending)) as WindowPending[]; foreach (WindowPending win in wins) { switch (completionAction) { case CompletionAction.UpdatePendingWindow: // fallthrough case CompletionAction.OnCheckoutCompleted: win.UpdateWindow(); break; case CompletionAction.OnChangeContentsPendingWindow: win.OnChangeContents(task); break; case CompletionAction.OnIncomingPendingWindow: win.OnIncoming(task); break; case CompletionAction.OnChangeSetsPendingWindow: win.OnChangeSets(task); break; case CompletionAction.OnGotLatestPendingWindow: win.OnGotLatest(task); break; } } switch (completionAction) { case CompletionAction.OnSubmittedChangeWindow: WindowChange.OnSubmitted(task); break; case CompletionAction.OnAddedChangeWindow: WindowChange.OnAdded(task); break; case CompletionAction.OnCheckoutCompleted: if (EditorUserSettings.showFailedCheckout) { WindowCheckoutFailure.OpenIfCheckoutFailed(task.assetList); } break; } task.Dispose(); }
private static void OnVCTaskCompletedEvent(Task task, CompletionAction completionAction) { WindowPending[] array = Resources.FindObjectsOfTypeAll(typeof(WindowPending)) as WindowPending[]; WindowPending[] array2 = array; for (int i = 0; i < array2.Length; i++) { WindowPending windowPending = array2[i]; switch (completionAction) { case CompletionAction.UpdatePendingWindow: case CompletionAction.OnCheckoutCompleted: windowPending.UpdateWindow(); break; case CompletionAction.OnChangeContentsPendingWindow: windowPending.OnChangeContents(task); break; case CompletionAction.OnIncomingPendingWindow: windowPending.OnIncoming(task); break; case CompletionAction.OnChangeSetsPendingWindow: windowPending.OnChangeSets(task); break; case CompletionAction.OnGotLatestPendingWindow: windowPending.OnGotLatest(task); break; } } if (completionAction != CompletionAction.OnSubmittedChangeWindow) { if (completionAction != CompletionAction.OnAddedChangeWindow) { if (completionAction == CompletionAction.OnCheckoutCompleted) { if (EditorUserSettings.showFailedCheckout) { WindowCheckoutFailure.OpenIfCheckoutFailed(task.assetList); } } } else { WindowChange.OnAdded(task); } } else { WindowChange.OnSubmitted(task); } task.Dispose(); }
private static void OnVCTaskCompletedEvent(Task task, CompletionAction completionAction) { WindowPending[] array = Resources.FindObjectsOfTypeAll(typeof(WindowPending)) as WindowPending[]; WindowPending[] array2 = array; for (int i = 0; i < array2.Length; i++) { WindowPending windowPending = array2[i]; if (completionAction == CompletionAction.UpdatePendingWindow) { windowPending.UpdateWindow(); } else { if (completionAction == CompletionAction.OnChangeContentsPendingWindow) { windowPending.OnChangeContents(task); } else { if (completionAction == CompletionAction.OnIncomingPendingWindow) { windowPending.OnIncoming(task); } else { if (completionAction == CompletionAction.OnChangeSetsPendingWindow) { windowPending.OnChangeSets(task); } else { if (completionAction == CompletionAction.OnGotLatestPendingWindow) { windowPending.OnGotLatest(task); } } } } } } if (completionAction == CompletionAction.OnSubmittedChangeWindow) { WindowChange.OnSubmitted(task); } else { if (completionAction == CompletionAction.OnAddedChangeWindow) { WindowChange.OnAdded(task); } } task.Dispose(); }
internal static void OnAdded(Task task) { WindowChange[] array = Resources.FindObjectsOfTypeAll(typeof(WindowChange)) as WindowChange[]; if (array.Length != 0) { WindowChange windowChange = array[0]; windowChange.taskSubmit = null; windowChange.submitResultCode = 256; windowChange.submitErrorMessage = null; windowChange.taskAdd = null; windowChange.taskStatus = Provider.Status(windowChange.assetList, false); windowChange.assetList = null; WindowPending.UpdateAllWindows(); } }
internal static void OnAdded(Task task) { WindowChange[] changeArray = UnityEngine.Resources.FindObjectsOfTypeAll(typeof(WindowChange)) as WindowChange[]; if (changeArray.Length != 0) { WindowChange change = changeArray[0]; change.taskSubmit = null; change.submitResultCode = 0x100; change.submitErrorMessage = null; change.taskAdd = null; change.taskStatus = Provider.Status(change.assetList, false); change.assetList = null; WindowPending.UpdateAllWindows(); } }
private static void OnVCTaskCompletedEvent(Task task, CompletionAction completionAction) { foreach (WindowPending windowPending in Resources.FindObjectsOfTypeAll(typeof(WindowPending)) as WindowPending[]) { switch (completionAction) { case CompletionAction.UpdatePendingWindow: case CompletionAction.OnCheckoutCompleted: windowPending.UpdateWindow(); break; case CompletionAction.OnChangeContentsPendingWindow: windowPending.OnChangeContents(task); break; case CompletionAction.OnIncomingPendingWindow: windowPending.OnIncoming(task); break; case CompletionAction.OnChangeSetsPendingWindow: windowPending.OnChangeSets(task); break; case CompletionAction.OnGotLatestPendingWindow: windowPending.OnGotLatest(task); break; } } switch (completionAction) { case CompletionAction.OnSubmittedChangeWindow: WindowChange.OnSubmitted(task); break; case CompletionAction.OnAddedChangeWindow: WindowChange.OnAdded(task); break; case CompletionAction.OnCheckoutCompleted: if (EditorUserSettings.showFailedCheckout) { WindowCheckoutFailure.OpenIfCheckoutFailed(task.assetList); break; } break; } task.Dispose(); }
internal static void OnAdded(Task task) { WindowChange[] objectsOfTypeAll = Resources.FindObjectsOfTypeAll(typeof(WindowChange)) as WindowChange[]; if (objectsOfTypeAll.Length == 0) { return; } WindowChange windowChange = objectsOfTypeAll[0]; windowChange.taskSubmit = (Task)null; windowChange.submitResultCode = 256; windowChange.submitErrorMessage = (string)null; windowChange.taskAdd = (Task)null; windowChange.taskStatus = Provider.Status(windowChange.assetList, false); windowChange.assetList = (AssetList)null; WindowPending.UpdateAllWindows(); }
internal static void OnSubmitted(Task task) { WindowChange[] array = Resources.FindObjectsOfTypeAll(typeof(WindowChange)) as WindowChange[]; if (array.Length == 0) { return; } WindowChange windowChange = array[0]; windowChange.assetList = task.assetList; windowChange.submitResultCode = task.resultCode; windowChange.submitErrorMessage = null; if ((task.resultCode & 2) != 0) { string empty = string.Empty; Message[] messages = task.messages; for (int i = 0; i < messages.Length; i++) { Message message = messages[i]; if (message.severity == Message.Severity.Error) { WindowChange expr_77 = windowChange; expr_77.submitErrorMessage = expr_77.submitErrorMessage + empty + message.message; } } } if ((task.resultCode & 3) != 0) { WindowPending.UpdateAllWindows(); bool flag = windowChange.changeSet == null; if (flag) { Task task2 = Provider.Status(string.Empty); task2.Wait(); WindowPending.ExpandLatestChangeSet(); } } if ((task.resultCode & 1) != 0) { windowChange.ResetAndClose(); } else { windowChange.RefreshList(); } }
internal static void OnSubmitted(Task task) { WindowChange[] objectsOfTypeAll = Resources.FindObjectsOfTypeAll(typeof(WindowChange)) as WindowChange[]; if (objectsOfTypeAll.Length == 0) { return; } WindowChange windowChange1 = objectsOfTypeAll[0]; windowChange1.assetList = task.assetList; windowChange1.submitResultCode = task.resultCode; windowChange1.submitErrorMessage = (string)null; if ((task.resultCode & 2) != 0) { string empty = string.Empty; foreach (Message message in task.messages) { if (message.severity == Message.Severity.Error) { WindowChange windowChange2 = windowChange1; string str = windowChange2.submitErrorMessage + empty + message.message; windowChange2.submitErrorMessage = str; } } } if ((task.resultCode & 3) != 0) { WindowPending.UpdateAllWindows(); if (windowChange1.changeSet == null) { Provider.Status(string.Empty).Wait(); WindowPending.ExpandLatestChangeSet(); } } if ((task.resultCode & 1) != 0) { windowChange1.ResetAndClose(); } else { windowChange1.RefreshList(); } }
internal static void OnSubmitted(Task task) { WindowChange[] changeArray = UnityEngine.Resources.FindObjectsOfTypeAll(typeof(WindowChange)) as WindowChange[]; if (changeArray.Length != 0) { WindowChange change = changeArray[0]; change.assetList = task.assetList; change.submitResultCode = task.resultCode; change.submitErrorMessage = null; if ((task.resultCode & 2) != 0) { string str = ""; foreach (Message message in task.messages) { if (message.severity == Message.Severity.Error) { change.submitErrorMessage = change.submitErrorMessage + str + message.message; } } } if ((task.resultCode & 3) != 0) { WindowPending.UpdateAllWindows(); if (change.changeSet == null) { Provider.Status("").Wait(); WindowPending.ExpandLatestChangeSet(); } } if ((task.resultCode & 1) != 0) { change.ResetAndClose(); } else { change.RefreshList(); } } }
public static void Open(AssetList list, bool submit) { WindowChange.Open((ChangeSet)null, list, submit); }
void OnGUI() { cancelled = false; GUILayout.Label("Conflicting files to resolve", EditorStyles.boldLabel); GUILayout.FlexibleSpace(); // I would use GUIUtility.GetLastRect() here after the box but that seems to have wierd side effects. Rect r1 = new Rect(6, 40, position.width - 12, position.height - 112); // 82 GUILayout.BeginArea(r1); GUILayout.Box("", GUILayout.ExpandWidth(true), GUILayout.ExpandHeight(true)); GUILayout.EndArea(); bool repaint = resolveList.OnGUI(new Rect(r1.x + 2, r1.y + 2, r1.width - 4, r1.height - 4), true); GUILayout.FlexibleSpace(); GUILayout.BeginHorizontal(); GUI.enabled = assetList.Count > 0; GUILayout.Label("Resolve selection by:"); using (new EditorGUI.DisabledScope(resolveList.SelectedAssets.Count == 0)) { bool methodWasSelected = false; ResolveMethod resolveMethod = ResolveMethod.UseMine; if (GUILayout.Button("using local version")) { methodWasSelected = true; resolveMethod = ResolveMethod.UseMine; } if (GUILayout.Button("using incoming version")) { methodWasSelected = true; resolveMethod = ResolveMethod.UseTheirs; } if (GUILayout.Button("merging")) { methodWasSelected = true; resolveMethod = ResolveMethod.UseMerged; } // We don't want to prompt the user about saving the current scene when using the local or incoming versions if (methodWasSelected && ((resolveMethod != ResolveMethod.UseMerged) || WindowChange.PromptUserToSaveDirtyScenes(assetList))) { if (resolveMethod == ResolveMethod.UseMerged) { Task t = Provider.Merge(resolveList.SelectedAssets); t.Wait(); if (t.success) { t = Provider.Resolve(t.assetList, ResolveMethod.UseMerged); t.Wait(); if (t.success) { // Check that there are not more conflicts for the specified // asset. This is possible in e.g. perforce where you handle // one version conflict at a time. t = Provider.Status(assetList); t.Wait(); DoOpen(t.assetList); if (t.success && assetList.Count == 0) { Close(); } // The view will be updated with the new conflicts } else { EditorUtility.DisplayDialog("Error resolving", "Error during resolve of files. Inspect log for details", "Close"); AssetDatabase.Refresh(); } } else { EditorUtility.DisplayDialog("Error merging", "Error during merge of files. Inspect log for details", "Close"); AssetDatabase.Refresh(); } } else { SimpleMerge(resolveMethod); } } } GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.Space(12); GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); GUI.enabled = true; if (GUILayout.Button("Cancel")) { cancelled = true; Close(); } GUILayout.EndHorizontal(); GUILayout.Space(12); if (repaint) { Repaint(); } }