Unity2018编辑器脚本趟坑记录

解除预制体问题:(这个例子是解除游戏中的Canvas与Asset中的预制体的关系)

if( PrefabUtility.IsAnyPrefabInstanceRoot(GameObject.Find("Canvas")))
PrefabUtility.UnpackPrefabInstance(GameObject.Find("Canvas"), PrefabUnpackMode.Completely, InteractionMode.AutomatedAction);

 

保存问题:(有时利用Editor脚本修改了物体参数之后,编辑器无法获知,且无法保存,存一下数据和场景就可以了)

AssetDatabase.SaveAssets(); //存所有数据 
EditorSceneManager.SaveScene(EditorSceneManager.GetActiveScene()); //存当前场景

 

数据修改没刷新的问题:(把用Editor脚本改变了的text的数据通知Editor一下,就可以刷新显示新的数据了)

EditorUtility.SetDirty(GameObject.Find("Panel1").transform.Find("text").gameObject);

posted @ 2020-02-28 14:43  哎呦不能错喔  阅读(700)  评论(0编辑  收藏  举报