Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
 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();
     }
 }
Ejemplo n.º 3
0
        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;
        }
Ejemplo n.º 4
0
 public static bool HasFlag(this ShaderVariantCollectionCreator.EFlag src, ShaderVariantCollectionCreator.EFlag flag)
 {
     return((src & flag) == flag);
 }