Unity的编辑器,你从Project视图拉图片或者prefab到Scene视图时,默认情况下它会挂在根节点上(起码我用的Unity5.4的是这样的),而每次都要手动地把新增节点挂到想要挂的Canvas上。还好Unity编辑器扩展可以让你自己自由定制,我想要的效果是这样的:
实现思路:
首先我们需要知道有什么东西拉进Scene视图了,一般来说插件系统会以Drag事件的形式给用户做定制处理的,Unity中的Scene发生的事件,可以在SceneView.onSceneGUIDelegate加个委托,大致代码是这样的:
public class SceneEditor
{
[InitializeOnLoadMethod]
static void Init()
{
SceneView.onSceneGUIDelegate += OnSceneGUI;
}
static void OnSceneGUI(SceneView sceneView)
{
Event e = Event.current;
if (Event.current.type == EventType.DragUpdated || Event.current.type == EventType.DragPerform)
{
//拉U