Exemplo n.º 1
0
 public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
 {
     if (IsConditionMet(property))
     {
         //条件满足,开始绘制
         if (property.type.EndsWith("Event"))
         {
             UEDrawer.OnGUI(position, property, string.IsNullOrEmpty(condSAtt.Label) ? label : new GUIContent(condSAtt.Label));
         }
         else
         {
             LabelDrawer.DrawLabel(position, property, condSAtt.Label);
         }
     }
     else if (condSAtt.AlwaysShow && Event.current.type == EventType.Repaint)
     {
         var tc = GUI.color;
         GUI.color = Color.gray;
         if (property.type.EndsWith("Event"))
         {
             UEDrawer.OnGUI(position, property, string.IsNullOrEmpty(condSAtt.Label) ? label : new GUIContent(condSAtt.Label));
         }
         else
         {
             LabelDrawer.DrawLabel(position, property, condSAtt.Label);
         }
         GUI.color = tc;
     }
 }
Exemplo n.º 2
0
    void Awake()
    {
        e = this;

        // Needs to wait for end of frame because it's the only event that happens after OnGUI
        StartCoroutine(EndOfFrameLoop());
    }
Exemplo n.º 3
0
    public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
    {
        if (!initialized)
        {
            if (property.type.EndsWith("Event"))
            {
                drawerOverride = new UnityEditorInternal.UnityEventDrawer();
            }
            if (property.type.EndsWith("Map"))
            {
                drawerOverride = System.Reflection.Assembly.GetExecutingAssembly().CreateInstance(property.type + "Drawer") as PropertyDrawer;
            }
            initialized = true;
        }

        if (IsConditionMet(property))
        {
            // 条件满足,开始绘制
            LabelDrawer.DrawLabel(position, property, Attr.Label, Attr.Const, drawerOverride);
        }
        else if (Attr.AlwaysShow && Event.current.type == EventType.Repaint)
        {
            var tc = GUI.color;
            GUI.color = Color.gray;
            LabelDrawer.DrawLabel(position, property, Attr.Label, Attr.Const, drawerOverride);
            GUI.color = tc;
        }
    }
Exemplo n.º 4
0
 public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
 {
     if (IsConditionMet(property) || Attr.AlwaysShow)
     {
         return(LabelDrawer.GetHeight(property, label, drawerOverride));
     }
     return(-EditorGUIUtility.standardVerticalSpacing);
 }
Exemplo n.º 5
0
 static void CreateIfDoesntExist()
 {
     if (!e)
     {
         var go     = new GameObject("-- LabelDrawer");
         var drawer = go.AddComponent <LabelDrawer>();
         e = drawer;
     }
 }
Exemplo n.º 6
0
 public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
 {
     if (IsConditionMet(property) || condSAtt.AlwaysShow)
     {
         if (property.type.EndsWith("Event"))
         {
             return(UEDrawer.GetPropertyHeight(property, label));
         }
         return(LabelDrawer.GetHeight(property, label));
     }
     return(-EditorGUIUtility.standardVerticalSpacing);
 }
Exemplo n.º 7
0
        public PdfDrawer(PdfContext pdfContext, LabelContext labelContext)
        {
            this._pdfContext   = pdfContext;
            this._labelContext = labelContext;

            var designer       = new LayoutDesigner(pdfContext, labelContext);
            var layoutProperty = designer.Design();

            this._layoutProperty = layoutProperty;

            this._labelDrawer = new LabelDrawer(labelContext, layoutProperty);
        }