Преглед на файлове

Styling information about IsSlider

marco.bellan преди 9 години
родител
ревизия
6afff9ea7c

+ 2 - 2
Source/MBansheeEditor/Windows/Inspector/InspectableField.cs

@@ -148,7 +148,7 @@ namespace BansheeEditor
                 switch (property.Type)
                 {
                     case SerializableProperty.FieldType.Int:
-                        if (style.RangeStyle == null)
+                        if (style.RangeStyle == null || !style.RangeStyle.Slider)
                         {
                             field = new InspectableInt(parent, title, path, depth, layout, property, style);
                         }
@@ -158,7 +158,7 @@ namespace BansheeEditor
                         }
                         break;
                     case SerializableProperty.FieldType.Float:
-                        if (style.RangeStyle == null)
+                        if (style.RangeStyle == null || !style.RangeStyle.Slider)
                         {
                             field = new InspectableFloat(parent, title, path, depth, layout, property, style);
                         }

+ 2 - 0
Source/MBansheeEditor/Windows/Inspector/InspectableFloat.cs

@@ -43,6 +43,8 @@ namespace BansheeEditor
                 guiFloatField = new GUIFloatField(new GUIContent(title));
                 if (style.StepStyle != null && style.StepStyle.Step != 0)
                     guiFloatField.Step = style.StepStyle.Step;
+                if (style.RangeStyle != null)
+                    guiFloatField.SetRange(style.RangeStyle.Min, style.RangeStyle.Max);
                 guiFloatField.OnChanged += OnFieldValueChanged;
                 guiFloatField.OnConfirmed += OnFieldValueConfirm;
                 guiFloatField.OnFocusLost += OnFieldValueConfirm;

+ 3 - 1
Source/MBansheeEditor/Windows/Inspector/InspectableInt.cs

@@ -44,7 +44,9 @@ namespace BansheeEditor
                 guiIntField = new GUIIntField(new GUIContent(title));
                 if (style.StepStyle != null && style.StepStyle.Step != 0)
                     guiIntField.Step = (int)style.StepStyle.Step;
-                guiIntField.Step = (int)style.StepStyle.Step;
+
+                if (style.RangeStyle != null)
+                    guiIntField.SetRange((int)style.RangeStyle.Min, (int)style.RangeStyle.Max);
                 guiIntField.OnChanged += OnFieldValueChanged;
                 guiIntField.OnConfirmed += OnFieldValueConfirm;
                 guiIntField.OnFocusLost += OnFieldValueConfirm;

+ 8 - 1
Source/MBansheeEditor/Windows/Inspector/Style/InspectableFieldRangeStyle.cs

@@ -8,19 +8,26 @@ namespace BansheeEditor
     /// </summary>
     public sealed class InspectableFieldRangeStyle : InspectableFieldStyle
     {
-        public InspectableFieldRangeStyle(float min, float max)
+        public InspectableFieldRangeStyle(float min, float max, bool slider)
         {
             this.Max = max;
             this.Min = min;
+            this.Slider = slider;
         }
 
         /// <summary>
         /// The maximum value the field can be assigned
         /// </summary>
         public float Max { get; set; }
+
         /// <summary>
         /// The minimum value the field can be assigned
         /// </summary>
         public float Min { get; set; }
+
+        /// <summary>
+        /// Whether the field is rendered as a slider
+        /// </summary>
+        public bool Slider { get; set; }
     }
 }

+ 2 - 19
Source/MBansheeEditor/Windows/Inspector/Style/InspectableFieldStyle.cs

@@ -50,25 +50,8 @@ namespace BansheeEditor
         {
             var styleInfo = new InspectableFieldStyleInfo();
 
-            styleInfo.RangeStyle = field.Range? new InspectableFieldRangeStyle(field.RangeMinimum, field.RangeMaximum) : null;
-            styleInfo.StepStyle = field.Step != 0? new InspectableFieldStepStyle(field.Step) : null;
-            if (styleInfo.StepStyle != null)
-            {
-                Debug.Log(styleInfo.StepStyle.Step);
-            }
-            else
-            {
-                Debug.Log("Step null");
-            }
-            if (styleInfo.RangeStyle != null)
-            {
-                Debug.Log(styleInfo.RangeStyle.Max);
-                Debug.Log(styleInfo.RangeStyle.Min);
-            }
-            else
-            {
-                Debug.Log("Range null");
-            }
+            styleInfo.RangeStyle = field.Ranged? new InspectableFieldRangeStyle(field.RangeMinimum, field.RangeMaximum, field.IsSlider) : null;
+            styleInfo.StepStyle = field.Stepped? new InspectableFieldStepStyle(field.Step) : null;
             return styleInfo;
         }
     }