private void OnEnable() { #if UNITY_2019_1_OR_NEWER || UNITY_2019_OR_NEWER string windowLayoutPath = "Packages/com.utj.framedebuggersave/Editor/UI/UXML/FrameEventsViewer.uxml"; string shaderParamPath = "Packages/com.utj.framedebuggersave/Editor/UI/UXML/ShaderParameterTemplate.uxml"; string namedValuePath = "Packages/com.utj.framedebuggersave/Editor/UI/UXML/NamedValueTemplate.uxml"; #else lastHeight = -1.0f; string windowLayoutPath = "Packages/com.utj.framedebuggersave/Editor/UI/UXML2018/FrameEventsViewer.uxml"; string shaderParamPath = "Packages/com.utj.framedebuggersave/Editor/UI/UXML2018/ShaderParameterTemplate.uxml"; string namedValuePath = "Packages/com.utj.framedebuggersave/Editor/UI/UXML2018/NamedValueTemplate.uxml"; #endif this.variantFlag = (ShaderVariantCollectionCreator.EFlag)(-1); this.captureFlag = (FrameInfoCrawler.CaptureFlag)(-1); var tree = AssetDatabase.LoadAssetAtPath <VisualTreeAsset>(windowLayoutPath); var visualElement = CloneTree(tree); this.rootVisualElement.Add(visualElement); this.textureLoader = new TextureLoader(); this.shaderParamTemplate = AssetDatabase.LoadAssetAtPath <VisualTreeAsset>(shaderParamPath); this.namedValueParamTemplate = AssetDatabase.LoadAssetAtPath <VisualTreeAsset>(namedValuePath); #if !UNITY_2019_1_OR_NEWER && !UNITY_2019_OR_NEWER InitIMGUIArea(); #else this.InitNewCaptureUI(); this.InitShaderVariantCollectionUI(); #endif this.RefreshCaptures(); }
private void OnGUIShaderVariant() { this.currentVariantCollection = EditorGUILayout.ObjectField(this.currentVariantCollection, typeof(ShaderVariantCollection), false) as ShaderVariantCollection; this.variantFlag = (ShaderVariantCollectionCreator.EFlag)EditorGUILayout.EnumFlagsField(this.variantFlag); if (GUILayout.Button("Add")) { ExecuteAddShaderVariantCollection(); } }
private void InitShaderVariantCollectionUI() { var enumField = this.rootVisualElement.Q <EnumFlagsField>("VariantFlag"); enumField.Init(this.variantFlag); enumField.RegisterValueChangedCallback((val) => { this.variantFlag = (ShaderVariantCollectionCreator.EFlag)val.newValue; }); var objectField = this.rootVisualElement.Q <ObjectField>("VariantCollectionObject"); objectField.objectType = typeof(ShaderVariantCollection); objectField.RegisterValueChangedCallback((obj) => { currentVariantCollection = obj.newValue as ShaderVariantCollection; }); var btn = this.rootVisualElement.Q <Button>("AddToCollectionBtn"); btn.clickable.clicked += ExecuteAddShaderVariantCollection; }
public static bool HasFlag(this ShaderVariantCollectionCreator.EFlag src, ShaderVariantCollectionCreator.EFlag flag) { return((src & flag) == flag); }