GetChangeSetItem() 개인적인 메소드

private GetChangeSetItem ( ChangeSet change ) : UnityEditorInternal.VersionControl.ListItem
change UnityEditor.VersionControl.ChangeSet
리턴 UnityEditorInternal.VersionControl.ListItem
예제 #1
0
        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));
        }
예제 #2
0
        //[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));
        }
예제 #4
0
		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();
		}
예제 #5
0
 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();
 }