编辑器扩展自定义按钮以便调试

有时候在运行时需要调试更改一些东西或调用某些方法,而这在Inspector面板中无法操作,所以需要自己写个编辑器扩展按钮等来方便调试。

首先,写测试脚本,脚本中有需要的字段


using UnityEngine;

public class Test : MonoBehaviour
{
 
    public Vector3 pos;//位置
    public Transform go;//需要设置位置的物体
    public MyScript script;//需要执行的方法所在的脚本

    public void SetPosition(Vector3 pos)
    {
        go.position = pos;
        script.Method();
    }

}

public class MyScript:MonoBehaviour
{
    public void Method()
    {
        Debug.Log("执行某个脚本中的方法");
    }
}


其次,继承Editor完成编辑器扩展脚本,并将这个脚本放在名为Editor的文件夹下面

using UnityEditor;
using UnityEngine;

[CustomEditor(typeof(Test))]
public class TestEditor : Editor
{
    private Test debug;
    private void OnEnable()
    {
        debug = target as Test;
    }
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();

        if (GUILayout.Button("设置Anchor"))
        {
            debug.SetPosition(debug.pos);
        }
    }
}

最后,在运行的时候将Test脚本挂上,并拖进来相应的物体,结果如下

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值