1234567891011121314151617181920212223242526272829303132333435363738394041 |
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEditor;
- using UnityEditor.UIElements;
- using UnityEditor.Experimental.GraphView;
- using UnityEngine.UIElements;
- using GraphProcessor;
- [NodeCustomEditor(typeof(PrefabNode))]
- public class PrefabNodeView : BaseNodeView
- {
- public override void Enable()
- {
- var prefabNode = nodeTarget as PrefabNode;
- var objField = new ObjectField
- {
- objectType = typeof(GameObject),
- allowSceneObjects = false,
- value = prefabNode.output,
- };
- var preview = new Image();
- objField.RegisterValueChangedCallback(v => {
- prefabNode.output = objField.value as GameObject;
- UpdatePreviewImage(preview, objField.value);
- });
- UpdatePreviewImage(preview, prefabNode.output);
- controlsContainer.Add(objField);
- controlsContainer.Add(preview);
- }
- void UpdatePreviewImage(Image image, Object obj)
- {
- image.image = AssetPreview.GetAssetPreview(obj) ?? AssetPreview.GetMiniThumbnail(obj);
- }
- }
|