编辑器常用API commonly used editor API

// 获得选中的gameobject
Selection.gameObjects
Selection.activeGameObject
// 从prefabInstance的子物体中取得prefab的root
var prefabInstanceRoot = PrefabUtility.GetOutermostPrefabInstanceRoot(prefabInstance)
// 从Object获得prefab
PrefabUtility.GetCorrespondingObjectFromSource
// 从prefab获得根物体
PrefabUtility.FindPrefabRoot(prefab)
// 刷新Project视窗
UnityEditor.AssetDatabase.Refresh
// 替换文件或文件夹
UnityEditor.FileUtil.ReplaceFile
UnityEditor.FileUtil.ReplaceDirectory
// 使用实例创建prefab并连接
PrefabUtility.SaveAsPrefabAssetAndConnect
PrefabUtility.SaveAsPrefabAsset
// 选中
EditorGUIUtility.PingObject(obj);

// 预制体,且不在场景中 is a prefab in asset
var IsPartOfPrefabAsset = PrefabUtility.IsPartOfPrefabAsset(gameObject);
// 预制体,且在场景中   is a prefab in hierarchy(scene) as instance
var IsPartOfPrefabInstance = PrefabUtility.IsPartOfPrefabInstance(gameObject);
private void OnTransformChildrenChanged()
{
    Debug.Log("Children changed! note: child of children changed won't call this function");
}
// 通过InstanceID获得Object,主要用于序列化
EditorUtility.InstanceIDToObject
// 检查编辑器上的属性是否被修改
EditorGUI.BeginChangeCheck();
some code may change editor
if (EditorGUI.EndChangeCheck())
{
    SetKeyword("_METALLIC_MAP", map.textureValue);
}
// 是否开启了PlayMode选项,影响ReloaDomain
EditorSettings.enterPlayModeOptionsEnabled
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值