コード例 #1
0
        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);
            }
        }
コード例 #2
0
        private Rect GetFieldRect(FieldInfo field)
        {
            float height = GUIExtension.GetHeight(field.FieldType, GUIHelper.TextContent(""));

            return(EditorGUILayout.GetControlRect(true, height));
        }