Inspector视图中的get/set使用

get set 使用起来很方便,但是编辑时在Inspector视图中问题就来了,因为get/set的属性即使是public了,但是在Inspector视图中依然不显示。

第一种方法

[SerializeField, SetProperty("Number")]
private float number;
public float Number
{
    get
    {
        return number;
    }
    private set
    {
        number = Mathf.Clamp01(value);
    }
}


第二种方法

TestInspector.cs放在Editor目录下

using UnityEngine;
using UnityEditor;
using System.Collections.Generic;
 
[CustomEditor(typeof(Test))]
public class TestInspector : Editor {
 
    Test model;
    public override void OnInspectorGUI(){
        model=target as Test;
        int width=EditorGUILayout.IntField("Width",model.width);
        if(model.width!=width){
            model.width=width;
        }
        base.DrawDefaultInspector();
    }
}

Test挂在任意游戏对象上。

using UnityEngine;
using System.Collections;
 
public class Test : MonoBehaviour 
{
    public int width
    {
        get {
            return _width; 
        }
        set {
            Debug.Log("set :" + value);
            _width = value; 
        }
    }
    private int _width;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转载自:http://www.xuanyusong.com/archives/3406get set 使用起来很方...
    霸俊流年阅读 379评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,837评论 18 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,739评论 18 399
  • 图:fay 喜欢旅行,于我而言,就是在现实中有机会尝试自己喜欢的生活方式,无限接近自己喜欢的生活。所以每次决定旅行...
    fay就是我阅读 502评论 0 4
  • 亲爱的, 因为有你:不悲伤,只欢喜; 静静不语,也是我对你的不离不弃与永远相依。 如果这一生幸福与安康永远与你相随...
    b7108c848836阅读 649评论 0 2