Unity中允许用户对脚本的属性进行自定义编辑。
serializedproperty是获取编辑属性的通用方法,如:
//获取属性
serializedObject.FindProperty("age");
//显示属性,类型会自动获取
EditorGUILayout.PropertyField(ageProp, new GUIContent("age"));
//应用修改项
serializedObject.ApplyModifiedProperties();
//属性需要一直更新
serializedObject.Update();
下面放代码,将RoleController.cs挂在物体上,将EditorInspector.cs放在工程的Editor目录:
using UnityEngine;
using System.Collections;
public class RoleController :MonoBehaviour
{
public string roleName = "asadasd";
public int age;
public float range;
public float jumpHight;
public Texture2D pic;
public string picName;