コード例 #1
0
 public override void OnPreviewGUI(Rect r, GUIStyle background)
 {
   if (Event.current.type != EventType.Repaint)
     return;
   if (this.m_Styles == null)
     this.m_Styles = new InterceptedEventsPreview.Styles();
   Vector2 zero = Vector2.zero;
   int num1 = 0;
   List<InterceptedEventsPreview.ComponentInterceptedEvents> targetEvent = this.m_TargetEvents[this.target as GameObject];
   using (List<InterceptedEventsPreview.ComponentInterceptedEvents>.Enumerator enumerator = targetEvent.GetEnumerator())
   {
     while (enumerator.MoveNext())
     {
       foreach (int interceptedEvent in enumerator.Current.interceptedEvents)
       {
         GUIContent possibleEvent = InterceptedEventsPreview.s_PossibleEvents[interceptedEvent];
         ++num1;
         Vector2 vector2 = this.m_Styles.labelStyle.CalcSize(possibleEvent);
         if ((double) zero.x < (double) vector2.x)
           zero.x = vector2.x;
         if ((double) zero.y < (double) vector2.y)
           zero.y = vector2.y;
       }
     }
   }
   r = new RectOffset(-5, -5, -5, -5).Add(r);
   int num2 = Mathf.Max(Mathf.FloorToInt(r.width / zero.x), 1);
   int num3 = Mathf.Max(num1 / num2, 1) + targetEvent.Count;
   float x = r.x + Mathf.Max(0.0f, (float) (((double) r.width - (double) zero.x * (double) num2) / 2.0));
   float y = r.y + Mathf.Max(0.0f, (float) (((double) r.height - (double) zero.y * (double) num3) / 2.0));
   Rect position = new Rect(x, y, zero.x, zero.y);
   int num4 = 0;
   using (List<InterceptedEventsPreview.ComponentInterceptedEvents>.Enumerator enumerator = targetEvent.GetEnumerator())
   {
     while (enumerator.MoveNext())
     {
       InterceptedEventsPreview.ComponentInterceptedEvents current = enumerator.Current;
       GUI.Label(position, current.componentName, this.m_Styles.componentName);
       position.y += position.height;
       position.x = x;
       foreach (int interceptedEvent in current.interceptedEvents)
       {
         GUIContent possibleEvent = InterceptedEventsPreview.s_PossibleEvents[interceptedEvent];
         GUI.Label(position, possibleEvent, this.m_Styles.labelStyle);
         if (num4 < num2 - 1)
         {
           position.x += position.width;
         }
         else
         {
           position.y += position.height;
           position.x = x;
         }
         num4 = (num4 + 1) % num2;
       }
       if ((double) position.x != (double) x)
       {
         position.y += position.height;
         position.x = x;
       }
     }
   }
 }
コード例 #2
0
        public override void OnPreviewGUI(Rect r, GUIStyle background)
        {
            if (Event.current.type != EventType.Repaint)
            {
                return;
            }
            if (this.m_Styles == null)
            {
                this.m_Styles = new InterceptedEventsPreview.Styles();
            }
            Vector2 zero = Vector2.zero;
            int     num1 = 0;
            List <InterceptedEventsPreview.ComponentInterceptedEvents> targetEvent = this.m_TargetEvents[this.target as GameObject];

            using (List <InterceptedEventsPreview.ComponentInterceptedEvents> .Enumerator enumerator = targetEvent.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    foreach (int interceptedEvent in enumerator.Current.interceptedEvents)
                    {
                        GUIContent possibleEvent = InterceptedEventsPreview.s_PossibleEvents[interceptedEvent];
                        ++num1;
                        Vector2 vector2 = this.m_Styles.labelStyle.CalcSize(possibleEvent);
                        if ((double)zero.x < (double)vector2.x)
                        {
                            zero.x = vector2.x;
                        }
                        if ((double)zero.y < (double)vector2.y)
                        {
                            zero.y = vector2.y;
                        }
                    }
                }
            }
            r = new RectOffset(-5, -5, -5, -5).Add(r);
            int   num2     = Mathf.Max(Mathf.FloorToInt(r.width / zero.x), 1);
            int   num3     = Mathf.Max(num1 / num2, 1) + targetEvent.Count;
            float x        = r.x + Mathf.Max(0.0f, (float)(((double)r.width - (double)zero.x * (double)num2) / 2.0));
            float y        = r.y + Mathf.Max(0.0f, (float)(((double)r.height - (double)zero.y * (double)num3) / 2.0));
            Rect  position = new Rect(x, y, zero.x, zero.y);
            int   num4     = 0;

            using (List <InterceptedEventsPreview.ComponentInterceptedEvents> .Enumerator enumerator = targetEvent.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    InterceptedEventsPreview.ComponentInterceptedEvents current = enumerator.Current;
                    GUI.Label(position, current.componentName, this.m_Styles.componentName);
                    position.y += position.height;
                    position.x  = x;
                    foreach (int interceptedEvent in current.interceptedEvents)
                    {
                        GUIContent possibleEvent = InterceptedEventsPreview.s_PossibleEvents[interceptedEvent];
                        GUI.Label(position, possibleEvent, this.m_Styles.labelStyle);
                        if (num4 < num2 - 1)
                        {
                            position.x += position.width;
                        }
                        else
                        {
                            position.y += position.height;
                            position.x  = x;
                        }
                        num4 = (num4 + 1) % num2;
                    }
                    if ((double)position.x != (double)x)
                    {
                        position.y += position.height;
                        position.x  = x;
                    }
                }
            }
        }
コード例 #3
0
 public override void OnPreviewGUI(Rect r, GUIStyle background)
 {
     if (Event.current.type == EventType.Repaint)
     {
         if (this.m_Styles == null)
         {
             this.m_Styles = new InterceptedEventsPreview.Styles();
         }
         Vector2 zero = Vector2.zero;
         int     num  = 0;
         List <InterceptedEventsPreview.ComponentInterceptedEvents> list = this.m_TargetEvents[this.target as GameObject];
         foreach (InterceptedEventsPreview.ComponentInterceptedEvents current in list)
         {
             int[] interceptedEvents = current.interceptedEvents;
             for (int i = 0; i < interceptedEvents.Length; i++)
             {
                 int        index   = interceptedEvents[i];
                 GUIContent content = InterceptedEventsPreview.s_PossibleEvents[index];
                 num++;
                 Vector2 vector = this.m_Styles.labelStyle.CalcSize(content);
                 if (zero.x < vector.x)
                 {
                     zero.x = vector.x;
                 }
                 if (zero.y < vector.y)
                 {
                     zero.y = vector.y;
                 }
             }
         }
         RectOffset rectOffset = new RectOffset(-5, -5, -5, -5);
         r = rectOffset.Add(r);
         int   num2     = Mathf.Max(Mathf.FloorToInt(r.width / zero.x), 1);
         int   num3     = Mathf.Max(num / num2, 1) + list.Count;
         float num4     = r.x + Mathf.Max(0f, (r.width - zero.x * (float)num2) / 2f);
         float y        = r.y + Mathf.Max(0f, (r.height - zero.y * (float)num3) / 2f);
         Rect  position = new Rect(num4, y, zero.x, zero.y);
         int   num5     = 0;
         foreach (InterceptedEventsPreview.ComponentInterceptedEvents current2 in list)
         {
             GUI.Label(position, current2.componentName, this.m_Styles.componentName);
             position.y += position.height;
             position.x  = num4;
             int[] interceptedEvents2 = current2.interceptedEvents;
             for (int j = 0; j < interceptedEvents2.Length; j++)
             {
                 int        index2   = interceptedEvents2[j];
                 GUIContent content2 = InterceptedEventsPreview.s_PossibleEvents[index2];
                 GUI.Label(position, content2, this.m_Styles.labelStyle);
                 if (num5 < num2 - 1)
                 {
                     position.x += position.width;
                 }
                 else
                 {
                     position.y += position.height;
                     position.x  = num4;
                 }
                 num5 = (num5 + 1) % num2;
             }
             if (position.x != num4)
             {
                 position.y += position.height;
                 position.x  = num4;
             }
         }
     }
 }