test
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Timeline.Samples
|
||||
{
|
||||
// Custom property drawer that draws all child properties inline
|
||||
[CustomPropertyDrawer(typeof(NoFoldOutAttribute))]
|
||||
public class NoFoldOutPropertyDrawer : PropertyDrawer
|
||||
{
|
||||
public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
|
||||
{
|
||||
if (!property.hasChildren)
|
||||
return base.GetPropertyHeight(property, label);
|
||||
property.isExpanded = true;
|
||||
return EditorGUI.GetPropertyHeight(property, label, true) -
|
||||
EditorGUI.GetPropertyHeight(property, label, false);
|
||||
}
|
||||
|
||||
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
|
||||
{
|
||||
if (!property.hasChildren)
|
||||
EditorGUI.PropertyField(position, property, label);
|
||||
else
|
||||
{
|
||||
SerializedProperty iter = property.Copy();
|
||||
var nextSibling = property.Copy();
|
||||
nextSibling.Next(false);
|
||||
property.Next(true);
|
||||
do
|
||||
{
|
||||
// We need to check against nextSibling to properly stop
|
||||
// otherwise we will draw properties that are not child of this
|
||||
// foldout.
|
||||
if (SerializedProperty.EqualContents(property, nextSibling))
|
||||
break;
|
||||
float height = EditorGUI.GetPropertyHeight(property, property.hasVisibleChildren);
|
||||
position.height = height;
|
||||
EditorGUI.PropertyField(position, property, property.hasVisibleChildren);
|
||||
position.y = position.y + height;
|
||||
}
|
||||
while (property.NextVisible(false));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fa71063a2265c0f46a8c2473f8ca8e40
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "Timeline.Samples.Utilities.Editor",
|
||||
"references": [
|
||||
"GUID:ef63a73cb159aa04997399c27d4eb08a"
|
||||
],
|
||||
"includePlatforms": [
|
||||
"Editor"
|
||||
],
|
||||
"excludePlatforms": [],
|
||||
"allowUnsafeCode": false,
|
||||
"overrideReferences": false,
|
||||
"precompiledReferences": [],
|
||||
"autoReferenced": true,
|
||||
"defineConstraints": [],
|
||||
"versionDefines": [],
|
||||
"noEngineReferences": false
|
||||
}
|
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6a967aa03bf014540b1c53a0617cea1d
|
||||
AssemblyDefinitionImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Reference in New Issue
Block a user