コード例 #1
0
        public void DoGUI(ASHistoryWindow parentWin, Rect theRect, bool focused)
        {
            if (ASHistoryFileView.ms_Styles == null)
            {
                ASHistoryFileView.ms_Styles = new ASHistoryFileView.Styles();
            }
            this.m_ScreenRect = theRect;
            Hashtable hashtable = new Hashtable();

            foreach (UnityEngine.Object @object in Selection.objects)
            {
                hashtable.Add((object)@object.GetInstanceID(), (object)null);
            }
            this.m_FileViewControlID = GUIUtility.GetControlID(ASHistoryFileView.ms_FileViewHash, FocusType.Native);
            this.KeyboardGUI(parentWin);
            focused &= GUIUtility.keyboardControl == this.m_FileViewControlID;
            HierarchyProperty property = new HierarchyProperty(HierarchyType.Assets);
            int  num1     = property.CountRemaining(this.m_ExpandedArray);
            int  num2     = !this.DeletedItemsToggle ? 0 : this.m_DelPVstate.lv.totalRows;
            Rect viewRect = new Rect(0.0f, 0.0f, 1f, (float)((double)(num1 + 2 + num2) * (double)ASHistoryFileView.m_RowHeight + 16.0));

            this.m_ScrollPosition = GUI.BeginScrollView(this.m_ScreenRect, this.m_ScrollPosition, viewRect);
            theRect.width         = (double)viewRect.height <= (double)this.m_ScreenRect.height ? theRect.width : theRect.width - 18f;
            int count = Mathf.RoundToInt(this.m_ScrollPosition.y - 6f - ASHistoryFileView.m_RowHeight) / Mathf.RoundToInt(ASHistoryFileView.m_RowHeight);

            if (count > num1)
            {
                count = num1;
            }
            else if (count < 0)
            {
                count = 0;
                this.m_ScrollPosition.y = 0.0f;
            }
            GUIContent guiContent = new GUIContent();
            Event      current    = Event.current;
            GUIStyle   s          = new GUIStyle(ASHistoryFileView.ms_Styles.label);
            Texture2D  texture    = EditorGUIUtility.FindTexture(EditorResourcesUtility.folderIconName);
            float      y1         = (float)((double)count * (double)ASHistoryFileView.m_RowHeight + 3.0);
            float      endOffset  = this.m_ScreenRect.height + this.m_ScrollPosition.y;
            Rect       position   = new Rect(0.0f, y1, theRect.width, ASHistoryFileView.m_RowHeight);

            if (current.type == EventType.MouseDown && position.Contains(current.mousePosition))
            {
                this.SelType = ASHistoryFileView.SelectionType.All;
                GUIUtility.keyboardControl = this.m_FileViewControlID;
                this.ScrollTo(0.0f);
                parentWin.DoLocalSelectionChange();
                current.Use();
            }
            GUIContent content = new GUIContent("Entire Project");

            content.image = (Texture)texture;
            int baseIndent = (int)this.m_BaseIndent;

            s.padding.left = 3;
            if (Event.current.type == EventType.Repaint)
            {
                s.Draw(position, content, false, false, this.SelType == ASHistoryFileView.SelectionType.All, focused);
            }
            float y2 = y1 + (ASHistoryFileView.m_RowHeight + 3f);

            property.Reset();
            property.Skip(count, this.m_ExpandedArray);
            while (property.Next(this.m_ExpandedArray) && (double)y2 <= (double)endOffset)
            {
                int instanceId = property.instanceID;
                position = new Rect(0.0f, y2, theRect.width, ASHistoryFileView.m_RowHeight);
                if (Event.current.type == EventType.Repaint)
                {
                    content.text  = property.name;
                    content.image = (Texture)property.icon;
                    int num3 = (int)((double)this.m_BaseIndent + (double)this.m_Indent * (double)property.depth);
                    s.padding.left = num3;
                    bool on = hashtable.Contains((object)instanceId);
                    s.Draw(position, content, false, false, on, focused);
                }
                if (property.hasChildren)
                {
                    bool flag = property.IsExpanded(this.m_ExpandedArray);
                    GUI.changed = false;
                    bool expand = GUI.Toggle(new Rect(this.m_BaseIndent + this.m_Indent * (float)property.depth - this.m_FoldoutSize, y2, this.m_FoldoutSize, ASHistoryFileView.m_RowHeight), flag, GUIContent.none, ASHistoryFileView.ms_Styles.foldout);
                    if (GUI.changed)
                    {
                        if (Event.current.alt)
                        {
                            this.SetExpandedRecurse(instanceId, expand);
                        }
                        else
                        {
                            this.SetExpanded(instanceId, expand);
                        }
                    }
                }
                if (current.type == EventType.MouseDown && Event.current.button == 0 && position.Contains(Event.current.mousePosition))
                {
                    GUIUtility.keyboardControl = this.m_FileViewControlID;
                    if (Event.current.clickCount == 2)
                    {
                        AssetDatabase.OpenAsset(instanceId);
                        GUIUtility.ExitGUI();
                    }
                    else if (position.Contains(current.mousePosition))
                    {
                        this.SelectionClick(property);
                    }
                    current.Use();
                }
                y2 += ASHistoryFileView.m_RowHeight;
            }
            float offset = y2 + 3f;

            this.DoDeletedItemsGUI(parentWin, theRect, s, offset, endOffset, focused);
            GUI.EndScrollView();
            switch (current.type)
            {
            case EventType.MouseDown:
                if (current.button == 0 && this.m_ScreenRect.Contains(current.mousePosition))
                {
                    GUIUtility.hotControl = this.m_FileViewControlID;
                    current.Use();
                    break;
                }
                break;

            case EventType.MouseUp:
                if (GUIUtility.hotControl == this.m_FileViewControlID)
                {
                    if (this.m_ScreenRect.Contains(current.mousePosition))
                    {
                        Selection.activeObject = (UnityEngine.Object)null;
                    }
                    GUIUtility.hotControl = 0;
                    current.Use();
                    break;
                }
                break;
            }
            this.HandleFraming();
        }
コード例 #2
0
        public void DoGUI(ASHistoryWindow parentWin, Rect theRect, bool focused)
        {
            if (ASHistoryFileView.ms_Styles == null)
            {
                ASHistoryFileView.ms_Styles = new ASHistoryFileView.Styles();
            }
            this.m_ScreenRect = theRect;
            Hashtable hashtable = new Hashtable();

            UnityEngine.Object[] objects = Selection.objects;
            for (int i = 0; i < objects.Length; i++)
            {
                UnityEngine.Object @object = objects[i];
                hashtable.Add(@object.GetInstanceID(), null);
            }
            this.m_FileViewControlID = GUIUtility.GetControlID(ASHistoryFileView.ms_FileViewHash, FocusType.Passive);
            this.KeyboardGUI(parentWin);
            focused &= (GUIUtility.keyboardControl == this.m_FileViewControlID);
            HierarchyProperty hierarchyProperty = new HierarchyProperty(HierarchyType.Assets);
            int  num      = hierarchyProperty.CountRemaining(this.m_ExpandedArray);
            int  num2     = (!this.DeletedItemsToggle) ? 0 : this.m_DelPVstate.lv.totalRows;
            Rect viewRect = new Rect(0f, 0f, 1f, (float)(num + 2 + num2) * ASHistoryFileView.m_RowHeight + 16f);

            this.m_ScrollPosition = GUI.BeginScrollView(this.m_ScreenRect, this.m_ScrollPosition, viewRect);
            theRect.width         = ((viewRect.height <= this.m_ScreenRect.height) ? theRect.width : (theRect.width - 18f));
            int num3 = Mathf.RoundToInt(this.m_ScrollPosition.y - 6f - ASHistoryFileView.m_RowHeight) / Mathf.RoundToInt(ASHistoryFileView.m_RowHeight);

            if (num3 > num)
            {
                num3 = num;
            }
            else if (num3 < 0)
            {
                num3 = 0;
                this.m_ScrollPosition.y = 0f;
            }
            GUIContent gUIContent = new GUIContent();
            Event      current    = Event.current;
            GUIStyle   gUIStyle   = new GUIStyle(ASHistoryFileView.ms_Styles.label);
            Texture2D  image      = EditorGUIUtility.FindTexture(EditorResourcesUtility.folderIconName);
            float      num4       = (float)num3 * ASHistoryFileView.m_RowHeight + 3f;
            float      num5       = this.m_ScreenRect.height + this.m_ScrollPosition.y;
            Rect       position   = new Rect(0f, num4, theRect.width, ASHistoryFileView.m_RowHeight);

            if (current.type == EventType.MouseDown && position.Contains(current.mousePosition))
            {
                this.SelType = ASHistoryFileView.SelectionType.All;
                GUIUtility.keyboardControl = this.m_FileViewControlID;
                this.ScrollTo(0f);
                parentWin.DoLocalSelectionChange();
                current.Use();
            }
            gUIContent       = new GUIContent("Entire Project");
            gUIContent.image = image;
            int left = (int)this.m_BaseIndent;

            gUIStyle.padding.left = 3;
            if (Event.current.type == EventType.Repaint)
            {
                gUIStyle.Draw(position, gUIContent, false, false, this.SelType == ASHistoryFileView.SelectionType.All, focused);
            }
            num4 += ASHistoryFileView.m_RowHeight + 3f;
            hierarchyProperty.Reset();
            hierarchyProperty.Skip(num3, this.m_ExpandedArray);
            while (hierarchyProperty.Next(this.m_ExpandedArray) && num4 <= num5)
            {
                int instanceID = hierarchyProperty.instanceID;
                position = new Rect(0f, num4, theRect.width, ASHistoryFileView.m_RowHeight);
                if (Event.current.type == EventType.Repaint)
                {
                    gUIContent.text       = hierarchyProperty.name;
                    gUIContent.image      = hierarchyProperty.icon;
                    left                  = (int)(this.m_BaseIndent + this.m_Indent * (float)hierarchyProperty.depth);
                    gUIStyle.padding.left = left;
                    bool on = hashtable.Contains(instanceID);
                    gUIStyle.Draw(position, gUIContent, false, false, on, focused);
                }
                if (hierarchyProperty.hasChildren)
                {
                    bool flag = hierarchyProperty.IsExpanded(this.m_ExpandedArray);
                    GUI.changed = false;
                    Rect position2 = new Rect(this.m_BaseIndent + this.m_Indent * (float)hierarchyProperty.depth - this.m_FoldoutSize, num4, this.m_FoldoutSize, ASHistoryFileView.m_RowHeight);
                    flag = GUI.Toggle(position2, flag, GUIContent.none, ASHistoryFileView.ms_Styles.foldout);
                    if (GUI.changed)
                    {
                        if (Event.current.alt)
                        {
                            this.SetExpandedRecurse(instanceID, flag);
                        }
                        else
                        {
                            this.SetExpanded(instanceID, flag);
                        }
                    }
                }
                if (current.type == EventType.MouseDown && Event.current.button == 0 && position.Contains(Event.current.mousePosition))
                {
                    GUIUtility.keyboardControl = this.m_FileViewControlID;
                    if (Event.current.clickCount == 2)
                    {
                        AssetDatabase.OpenAsset(instanceID);
                        GUIUtility.ExitGUI();
                    }
                    else if (position.Contains(current.mousePosition))
                    {
                        this.SelectionClick(hierarchyProperty);
                    }
                    current.Use();
                }
                num4 += ASHistoryFileView.m_RowHeight;
            }
            num4 += 3f;
            this.DoDeletedItemsGUI(parentWin, theRect, gUIStyle, num4, num5, focused);
            GUI.EndScrollView();
            EventType type = current.type;

            if (type != EventType.MouseDown)
            {
                if (type == EventType.MouseUp)
                {
                    if (GUIUtility.hotControl == this.m_FileViewControlID)
                    {
                        if (this.m_ScreenRect.Contains(current.mousePosition))
                        {
                            Selection.activeObject = null;
                        }
                        GUIUtility.hotControl = 0;
                        current.Use();
                    }
                }
            }
            else if (current.button == 0 && this.m_ScreenRect.Contains(current.mousePosition))
            {
                GUIUtility.hotControl = this.m_FileViewControlID;
                current.Use();
            }
            this.HandleFraming();
        }
コード例 #3
0
		public void DoGUI(ASHistoryWindow parentWin, Rect theRect, bool focused)
		{
			if (ASHistoryFileView.ms_Styles == null)
			{
				ASHistoryFileView.ms_Styles = new ASHistoryFileView.Styles();
			}
			this.m_ScreenRect = theRect;
			Hashtable hashtable = new Hashtable();
			UnityEngine.Object[] objects = Selection.objects;
			for (int i = 0; i < objects.Length; i++)
			{
				UnityEngine.Object @object = objects[i];
				hashtable.Add(@object.GetInstanceID(), null);
			}
			this.m_FileViewControlID = GUIUtility.GetControlID(ASHistoryFileView.ms_FileViewHash, FocusType.Native);
			this.KeyboardGUI(parentWin);
			focused &= (GUIUtility.keyboardControl == this.m_FileViewControlID);
			HierarchyProperty hierarchyProperty = new HierarchyProperty(HierarchyType.Assets);
			int num = hierarchyProperty.CountRemaining(this.m_ExpandedArray);
			int num2 = (!this.DeletedItemsToggle) ? 0 : this.m_DelPVstate.lv.totalRows;
			Rect viewRect = new Rect(0f, 0f, 1f, (float)(num + 2 + num2) * ASHistoryFileView.m_RowHeight + 16f);
			this.m_ScrollPosition = GUI.BeginScrollView(this.m_ScreenRect, this.m_ScrollPosition, viewRect);
			theRect.width = ((viewRect.height <= this.m_ScreenRect.height) ? theRect.width : (theRect.width - 18f));
			int num3 = Mathf.RoundToInt(this.m_ScrollPosition.y - 6f - ASHistoryFileView.m_RowHeight) / Mathf.RoundToInt(ASHistoryFileView.m_RowHeight);
			if (num3 > num)
			{
				num3 = num;
			}
			else
			{
				if (num3 < 0)
				{
					num3 = 0;
					this.m_ScrollPosition.y = 0f;
				}
			}
			GUIContent gUIContent = new GUIContent();
			Event current = Event.current;
			GUIStyle gUIStyle = new GUIStyle(ASHistoryFileView.ms_Styles.label);
			Texture2D image = EditorGUIUtility.FindTexture(EditorResourcesUtility.folderIconName);
			float num4 = (float)num3 * ASHistoryFileView.m_RowHeight + 3f;
			float num5 = this.m_ScreenRect.height + this.m_ScrollPosition.y;
			Rect position = new Rect(0f, num4, theRect.width, ASHistoryFileView.m_RowHeight);
			if (current.type == EventType.MouseDown && position.Contains(current.mousePosition))
			{
				this.SelType = ASHistoryFileView.SelectionType.All;
				GUIUtility.keyboardControl = this.m_FileViewControlID;
				this.ScrollTo(0f);
				parentWin.DoLocalSelectionChange();
				current.Use();
			}
			gUIContent = new GUIContent("Entire Project");
			gUIContent.image = image;
			int left = (int)this.m_BaseIndent;
			gUIStyle.padding.left = 3;
			if (Event.current.type == EventType.Repaint)
			{
				gUIStyle.Draw(position, gUIContent, false, false, this.SelType == ASHistoryFileView.SelectionType.All, focused);
			}
			num4 += ASHistoryFileView.m_RowHeight + 3f;
			hierarchyProperty.Reset();
			hierarchyProperty.Skip(num3, this.m_ExpandedArray);
			while (hierarchyProperty.Next(this.m_ExpandedArray) && num4 <= num5)
			{
				int instanceID = hierarchyProperty.instanceID;
				position = new Rect(0f, num4, theRect.width, ASHistoryFileView.m_RowHeight);
				if (Event.current.type == EventType.Repaint)
				{
					gUIContent.text = hierarchyProperty.name;
					gUIContent.image = hierarchyProperty.icon;
					left = (int)(this.m_BaseIndent + this.m_Indent * (float)hierarchyProperty.depth);
					gUIStyle.padding.left = left;
					bool on = hashtable.Contains(instanceID);
					gUIStyle.Draw(position, gUIContent, false, false, on, focused);
				}
				if (hierarchyProperty.hasChildren)
				{
					bool flag = hierarchyProperty.IsExpanded(this.m_ExpandedArray);
					GUI.changed = false;
					Rect position2 = new Rect(this.m_BaseIndent + this.m_Indent * (float)hierarchyProperty.depth - this.m_FoldoutSize, num4, this.m_FoldoutSize, ASHistoryFileView.m_RowHeight);
					flag = GUI.Toggle(position2, flag, GUIContent.none, ASHistoryFileView.ms_Styles.foldout);
					if (GUI.changed)
					{
						if (Event.current.alt)
						{
							this.SetExpandedRecurse(instanceID, flag);
						}
						else
						{
							this.SetExpanded(instanceID, flag);
						}
					}
				}
				if (current.type == EventType.MouseDown && Event.current.button == 0 && position.Contains(Event.current.mousePosition))
				{
					GUIUtility.keyboardControl = this.m_FileViewControlID;
					if (Event.current.clickCount == 2)
					{
						AssetDatabase.OpenAsset(instanceID);
						GUIUtility.ExitGUI();
					}
					else
					{
						if (position.Contains(current.mousePosition))
						{
							this.SelectionClick(hierarchyProperty);
						}
					}
					current.Use();
				}
				num4 += ASHistoryFileView.m_RowHeight;
			}
			num4 += 3f;
			this.DoDeletedItemsGUI(parentWin, theRect, gUIStyle, num4, num5, focused);
			GUI.EndScrollView();
			EventType type = current.type;
			if (type != EventType.MouseDown)
			{
				if (type == EventType.MouseUp)
				{
					if (GUIUtility.hotControl == this.m_FileViewControlID)
					{
						if (this.m_ScreenRect.Contains(current.mousePosition))
						{
							Selection.activeObject = null;
						}
						GUIUtility.hotControl = 0;
						current.Use();
					}
				}
			}
			else
			{
				if (current.button == 0 && this.m_ScreenRect.Contains(current.mousePosition))
				{
					GUIUtility.hotControl = this.m_FileViewControlID;
					current.Use();
				}
			}
			this.HandleFraming();
		}
コード例 #4
0
 public void DoGUI(ASHistoryWindow parentWin, Rect theRect, bool focused)
 {
   if (ASHistoryFileView.ms_Styles == null)
     ASHistoryFileView.ms_Styles = new ASHistoryFileView.Styles();
   this.m_ScreenRect = theRect;
   Hashtable hashtable = new Hashtable();
   foreach (UnityEngine.Object @object in Selection.objects)
     hashtable.Add((object) @object.GetInstanceID(), (object) null);
   this.m_FileViewControlID = GUIUtility.GetControlID(ASHistoryFileView.ms_FileViewHash, FocusType.Native);
   this.KeyboardGUI(parentWin);
   focused &= GUIUtility.keyboardControl == this.m_FileViewControlID;
   HierarchyProperty property = new HierarchyProperty(HierarchyType.Assets);
   int num1 = property.CountRemaining(this.m_ExpandedArray);
   int num2 = !this.DeletedItemsToggle ? 0 : this.m_DelPVstate.lv.totalRows;
   Rect viewRect = new Rect(0.0f, 0.0f, 1f, (float) ((double) (num1 + 2 + num2) * (double) ASHistoryFileView.m_RowHeight + 16.0));
   this.m_ScrollPosition = GUI.BeginScrollView(this.m_ScreenRect, this.m_ScrollPosition, viewRect);
   theRect.width = (double) viewRect.height <= (double) this.m_ScreenRect.height ? theRect.width : theRect.width - 18f;
   int count = Mathf.RoundToInt(this.m_ScrollPosition.y - 6f - ASHistoryFileView.m_RowHeight) / Mathf.RoundToInt(ASHistoryFileView.m_RowHeight);
   if (count > num1)
     count = num1;
   else if (count < 0)
   {
     count = 0;
     this.m_ScrollPosition.y = 0.0f;
   }
   GUIContent guiContent = new GUIContent();
   Event current = Event.current;
   GUIStyle s = new GUIStyle(ASHistoryFileView.ms_Styles.label);
   Texture2D texture = EditorGUIUtility.FindTexture(EditorResourcesUtility.folderIconName);
   float y1 = (float) ((double) count * (double) ASHistoryFileView.m_RowHeight + 3.0);
   float endOffset = this.m_ScreenRect.height + this.m_ScrollPosition.y;
   Rect position = new Rect(0.0f, y1, theRect.width, ASHistoryFileView.m_RowHeight);
   if (current.type == EventType.MouseDown && position.Contains(current.mousePosition))
   {
     this.SelType = ASHistoryFileView.SelectionType.All;
     GUIUtility.keyboardControl = this.m_FileViewControlID;
     this.ScrollTo(0.0f);
     parentWin.DoLocalSelectionChange();
     current.Use();
   }
   GUIContent content = new GUIContent("Entire Project");
   content.image = (Texture) texture;
   int baseIndent = (int) this.m_BaseIndent;
   s.padding.left = 3;
   if (Event.current.type == EventType.Repaint)
     s.Draw(position, content, false, false, this.SelType == ASHistoryFileView.SelectionType.All, focused);
   float y2 = y1 + (ASHistoryFileView.m_RowHeight + 3f);
   property.Reset();
   property.Skip(count, this.m_ExpandedArray);
   while (property.Next(this.m_ExpandedArray) && (double) y2 <= (double) endOffset)
   {
     int instanceId = property.instanceID;
     position = new Rect(0.0f, y2, theRect.width, ASHistoryFileView.m_RowHeight);
     if (Event.current.type == EventType.Repaint)
     {
       content.text = property.name;
       content.image = (Texture) property.icon;
       int num3 = (int) ((double) this.m_BaseIndent + (double) this.m_Indent * (double) property.depth);
       s.padding.left = num3;
       bool on = hashtable.Contains((object) instanceId);
       s.Draw(position, content, false, false, on, focused);
     }
     if (property.hasChildren)
     {
       bool flag = property.IsExpanded(this.m_ExpandedArray);
       GUI.changed = false;
       bool expand = GUI.Toggle(new Rect(this.m_BaseIndent + this.m_Indent * (float) property.depth - this.m_FoldoutSize, y2, this.m_FoldoutSize, ASHistoryFileView.m_RowHeight), flag, GUIContent.none, ASHistoryFileView.ms_Styles.foldout);
       if (GUI.changed)
       {
         if (Event.current.alt)
           this.SetExpandedRecurse(instanceId, expand);
         else
           this.SetExpanded(instanceId, expand);
       }
     }
     if (current.type == EventType.MouseDown && Event.current.button == 0 && position.Contains(Event.current.mousePosition))
     {
       GUIUtility.keyboardControl = this.m_FileViewControlID;
       if (Event.current.clickCount == 2)
       {
         AssetDatabase.OpenAsset(instanceId);
         GUIUtility.ExitGUI();
       }
       else if (position.Contains(current.mousePosition))
         this.SelectionClick(property);
       current.Use();
     }
     y2 += ASHistoryFileView.m_RowHeight;
   }
   float offset = y2 + 3f;
   this.DoDeletedItemsGUI(parentWin, theRect, s, offset, endOffset, focused);
   GUI.EndScrollView();
   switch (current.type)
   {
     case EventType.MouseDown:
       if (current.button == 0 && this.m_ScreenRect.Contains(current.mousePosition))
       {
         GUIUtility.hotControl = this.m_FileViewControlID;
         current.Use();
         break;
       }
       break;
     case EventType.MouseUp:
       if (GUIUtility.hotControl == this.m_FileViewControlID)
       {
         if (this.m_ScreenRect.Contains(current.mousePosition))
           Selection.activeObject = (UnityEngine.Object) null;
         GUIUtility.hotControl = 0;
         current.Use();
         break;
       }
       break;
   }
   this.HandleFraming();
 }