#if UNITY_2019_4_OR_NEWER using System; using System.Linq; using System.Collections.Generic; using UnityEditor; using UnityEngine; using UnityEditor.UIElements; using UnityEngine.UIElements; namespace YooAsset.Editor { public class ShaderVariantCollectorWindow : EditorWindow { [MenuItem("YooAsset/ShaderVariant Collector", false, 201)] public static void OpenWindow() { ShaderVariantCollectorWindow window = GetWindow("着色器变种收集工具", true, WindowsDefine.DockedWindowTypes); window.minSize = new Vector2(800, 600); } private List _packageNames; private Button _saveButton; private Button _collectButton; private TextField _collectOutputField; private Label _currentShaderCountField; private Label _currentVariantCountField; private SliderInt _processCapacitySlider; private PopupField _packageField; public void CreateGUI() { try { VisualElement root = this.rootVisualElement; // 加载布局文件 var visualAsset = UxmlLoader.LoadWindowUXML(); if (visualAsset == null) return; visualAsset.CloneTree(root); // 配置保存按钮 _saveButton = root.Q