2,535
社区成员
发帖
与我相关
我的任务
分享
using UnityEngine;
using UnityEditor;
using NUnit.Framework;
using UnityEditor.SceneManagement;
public class SceneEditor {
static Object LastSelectObj = null;
static Object CurSelectObj = null;
[InitializeOnLoadMethod]
static void Init()
{
SceneView.onSceneGUIDelegate += OnSceneGUI;
Selection.selectionChanged += delegate()
{
LastSelectObj = CurSelectObj;
CurSelectObj = Selection.activeObject;
UnityEngine.Object[] arr = Selection.GetFiltered(typeof(UnityEngine.Object), SelectionMode.TopLevel);
if (arr != null && arr.Length > 0)
{
GameObject selectObj = LastSelectObj as GameObject;
string assetPath = AssetDatabase.GetAssetPath(arr[0]);
if (selectObj != null)
{
SuyouUI.ImageBox image = selectObj.GetComponent<SuyouUI.ImageBox>();
if (image != null)
{
image.SetImage(assetPath);
//想刷新Scene视图但是没用,应该怎么弄?
UnityEditor.SceneManagement.EditorSceneManager.MarkAllScenesDirty();
SceneView.lastActiveSceneView.Repaint();
Selection.activeGameObject = LastSelectObj as GameObject;
}
}
}
};
}
}