查看: 704|回复: 0
打印 上一主题 下一主题

[其他] 官方样例之如何自定义Inspetor

[复制链接]
may    

8830

主题

81

听众

7万

积分

首席设计师

Rank: 8Rank: 8

纳金币
52336
精华
343

最佳新人 热心会员 灌水之王 活跃会员 突出贡献 荣誉管理 论坛元老

跳转到指定楼层
楼主
发表于 2015-10-17 23:59:13 |只看该作者 |倒序浏览

要对Editor进行编辑,unity要求对此进行操作的脚本必须放在Editor文件夹内,创建一个Editor文件夹和一个CustomEditor文件夹,创建一个LevelScript在CustomEditor内,编辑脚本如下:

UnityEngine;
using System.Collections;
public class LevelScript : MonoBehaviour
{
    public int experience;
   
    public int Level
    {
        get{ return experience / 750; }}//确保exprience只读
}

接着,在Editor文件夹下创建一个LevelScriptEditor,编辑脚本如下:

using UnityEngine;
using System.Collections;
using UnityEditor;
[CustomEditor(typeof(LevelScript))]
public class LevelScriptEditor : Editor
{
    public override void OnInspectorGUI()//重写OnInspectorGUI方法
    {
        LevelScript myTarget = (LevelScript)target;
        
        myTarget.experience = EditorGUILayout.IntField("Experience", myTarget.experience);
        EditorGUILayout.LabelField("Level", myTarget.Level.ToString());
    }
}

分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-12-1 05:30 , Processed in 0.086983 second(s), 28 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部