From d9b504186c9b942f4db85364eb3808126dd0164d Mon Sep 17 00:00:00 2001 From: Greg Harding Date: Wed, 20 May 2015 13:45:05 +1200 Subject: [PATCH] Ported from UnityScript to C#. --- source/Plugins/Editor/RangedTooltipDrawer.cs | 42 ++++++++++++++++++++ source/Plugins/Editor/RangedTooltipDrawer.js | 41 ------------------- 2 files changed, 42 insertions(+), 41 deletions(-) create mode 100644 source/Plugins/Editor/RangedTooltipDrawer.cs delete mode 100644 source/Plugins/Editor/RangedTooltipDrawer.js diff --git a/source/Plugins/Editor/RangedTooltipDrawer.cs b/source/Plugins/Editor/RangedTooltipDrawer.cs new file mode 100644 index 0000000..c025952 --- /dev/null +++ b/source/Plugins/Editor/RangedTooltipDrawer.cs @@ -0,0 +1,42 @@ +/* + Copyright 2014 Google Inc. All rights reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +using UnityEditor; +using UnityEngine; +using System.Collections; + + +/* + Custom Property Drawer for Ranged inspector properties that also have a tooltip +*/ + +[CustomPropertyDrawer(typeof(RangedTooltipAttribute))] +public class RangedTooltipDrawer : PropertyDrawer { + + override public void OnGUI(Rect position, SerializedProperty property, GUIContent label) { + // First get the attribute since it contains the range for the slider + var range = attribute as RangedTooltipAttribute; + var content = new GUIContent(label.text, range.text); + + if (property.propertyType == SerializedPropertyType.Float) { + EditorGUI.Slider(position, property, range.min, range.max, content); + } else if (property.propertyType == SerializedPropertyType.Integer) { + EditorGUI.IntSlider(position, property, (int)(range.min), (int)(range.max), content); + } else { + EditorGUI.LabelField(position, label.text, "Use Range with float or int."); + } + } +} diff --git a/source/Plugins/Editor/RangedTooltipDrawer.js b/source/Plugins/Editor/RangedTooltipDrawer.js deleted file mode 100644 index e5222dc..0000000 --- a/source/Plugins/Editor/RangedTooltipDrawer.js +++ /dev/null @@ -1,41 +0,0 @@ -/* - Copyright 2014 Google Inc. All rights reserved. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*/ - -/** - * Custom Property Drawer for Ranged inspector properties that also - * have a tooltip - * - **/ -@CustomPropertyDrawer(RangedTooltipAttribute) -class RangedTooltipDrawer extends PropertyDrawer { - - // Draw the property inside the given rect - function OnGUI(position : Rect, property : SerializedProperty, - label : GUIContent) { - // First get the attribute since it contains the range for the slider - var range : RangedTooltipAttribute = attribute as RangedTooltipAttribute; - var content = new GUIContent(label.text, range.text); - - if (property.propertyType == SerializedPropertyType.Float) { - EditorGUI.Slider(position, property, range.min, range.max, content); - } else if (property.propertyType == SerializedPropertyType.Integer) { - EditorGUI.IntSlider(position, property, range.min, range.max, content); - } else { - EditorGUI.LabelField(position, label.text, - 'Use Range with float or int.'); - } - } -}