public override void DrawFields(FieldInfo fieldInfo) { if (fieldInfo.Name == "anim") { GUIContent lable = new GUIContent(fieldInfo.Name); float tmpHeight = GUIExtension.GetHeight(fieldInfo.FieldType, lable); UnityObjectAsset oldObj = (UnityObjectAsset)fieldInfo.GetValue(Target); ObjectDrawer objectDrawer = ObjectDrawer.CreateEditor(oldObj); objectDrawer.OnGUI(EditorGUILayout.GetControlRect(true, tmpHeight), lable); if (GUILayout.Button("设置为动画时长")) { AnimationClip clip = (AnimationClip)oldObj.GetObj(); if (clip != null) { ClipModel clipModel = Target as ClipModel; clipModel.SetEnd(clipModel.StartTime + clip.length); } } } else { base.DrawFields(fieldInfo); } }
private Rect GetFieldRect(FieldInfo field) { float height = GUIExtension.GetHeight(field.FieldType, GUIHelper.TextContent("")); return(EditorGUILayout.GetControlRect(true, height)); }