private GetChangeSetItem ( |
||
change | ||
리턴 | UnityEditorInternal.VersionControl.ListItem |
private static bool DeleteChangeSetTest(int userData) { ListControl listControl = ListControl.FromID(userData); ChangeSets selectedChangeSets = listControl.SelectedChangeSets; if (selectedChangeSets.Count == 0) { return(false); } ChangeSet changeSet = ChangeSetContextMenu.GetChangeSet(selectedChangeSets); if (changeSet.id == "-1") { return(false); } ListItem changeSetItem = listControl.GetChangeSetItem(changeSet); bool flag = changeSetItem != null && changeSetItem.HasChildren && changeSetItem.FirstChild.Asset != null && changeSetItem.FirstChild.Name != "Empty change list"; if (!flag) { Task task = Provider.ChangeSetStatus(changeSet); task.Wait(); flag = (task.assetList.Count != 0); } return(!flag && Provider.DeleteChangeSetsIsValid(selectedChangeSets)); }
//[MenuItem ("CONTEXT/Change/Delete Empty Changeset", true)] static bool DeleteChangeSetTest(int userData) { ListControl l = ListControl.FromID(userData); ChangeSets set = l.SelectedChangeSets; if (set.Count == 0) { return(false); } ChangeSet change = GetChangeSet(set); if (change.id == "-1") { return(false); } ListItem item = l.GetChangeSetItem(change); // TODO: Make changelist cache nonmanaged side to fix this! bool hasAssets = item != null && item.HasChildren && item.FirstChild.Asset != null && item.FirstChild.Name != ListControl.c_emptyChangeListMessage; if (!hasAssets) { Task task = Provider.ChangeSetStatus(change); task.Wait(); hasAssets = task.assetList.Count != 0; } return(!hasAssets && Provider.DeleteChangeSetsIsValid(set)); }
private static bool DeleteChangeSetTest(int userData) { ListControl listControl = ListControl.FromID(userData); ChangeSets selectedChangeSets = listControl.SelectedChangeSets; if (selectedChangeSets.Count == 0) { return(false); } ChangeSet changeSet = ChangeSetContextMenu.GetChangeSet(selectedChangeSets); ListItem changeSetItem = listControl.GetChangeSetItem(changeSet); return((changeSetItem == null || !changeSetItem.HasChildren || changeSetItem.FirstChild.Asset == null || !(changeSetItem.FirstChild.Name != "Empty change list")) && changeSet.id != "-1" && Provider.DeleteChangeSetsIsValid(selectedChangeSets)); }
private void PopulateListControl(ListControl list, Task task, Texture2D icon) { ChangeSets changeSets = task.changeSets; ListItem listItem = list.Root.FirstChild; while (listItem != null) { ChangeSet cs = listItem.Item as ChangeSet; if (changeSets.Find((ChangeSet elm) => elm.id == cs.id) == null) { ListItem listItem2 = listItem; listItem = listItem.Next; list.Root.Remove(listItem2); } else { listItem = listItem.Next; } } foreach (ChangeSet current in changeSets) { ListItem listItem3 = list.GetChangeSetItem(current); if (listItem3 != null) { listItem3.Item = current; } else { listItem3 = list.Add(null, current.description, current); } listItem3.Exclusive = true; listItem3.CanAccept = true; listItem3.Icon = icon; } list.Refresh(); base.Repaint(); }
private void PopulateListControl(ListControl list, Task task, Texture2D icon) { ChangeSets changeSets = task.changeSets; ListItem listItem1 = list.Root.FirstChild; while (listItem1 != null) { // ISSUE: object of a compiler-generated type is created // ISSUE: reference to a compiler-generated method if (changeSets.Find(new Predicate<ChangeSet>(new WindowPending.\u003CPopulateListControl\u003Ec__AnonStoreyC1() { cs = listItem1.Item as ChangeSet }.\u003C\u003Em__230)) == null) { ListItem listItem2 = listItem1; listItem1 = listItem1.Next; list.Root.Remove(listItem2); } else listItem1 = listItem1.Next; } using (List<ChangeSet>.Enumerator enumerator = changeSets.GetEnumerator()) { while (enumerator.MoveNext()) { ChangeSet current = enumerator.Current; ListItem listItem2 = list.GetChangeSetItem(current); if (listItem2 != null) { listItem2.Item = (object) current; listItem2.Name = current.description; } else listItem2 = list.Add((ListItem) null, current.description, current); listItem2.Exclusive = true; listItem2.CanAccept = true; listItem2.Icon = (Texture) icon; } } list.Refresh(); this.Repaint(); }