コード例 #1
0
        protected override void OnHeaderGUI()
        {
            Rect position = new Rect(0, 0, m_ContentViewport?.resolvedStyle.width ?? 1, m_ContentViewport?.resolvedStyle.height ?? 1);

            GUILayout.BeginHorizontal();
            using (new EditorGUIUtility.IconSizeScope(new Vector2(16, 16)))
                GUILayout.Label(m_ExpressionTitle);
            GUILayout.FlexibleSpace();
            if (Utils.isDeveloperBuild)
            {
                if (GUILayout.Button("Refresh"))
                {
                    m_Expression.Evaluate();
                }
            }
            if (GUILayout.Button("Edit"))
            {
                ExpressionBuilder.Open(m_ExpressionPath);
            }
            GUILayout.EndHorizontal();

            if (SearchVariable.DrawVariables(m_Variables, position.width))
            {
                SearchVariable.Evaluate(m_Variables, m_Expression, Repaint);
            }
        }
コード例 #2
0
        private void InitializeExpression()
        {
            if (m_Expression != null)
            {
                return;
            }

            m_ExpressionPath  = AssetDatabase.GetAssetPath(target);
            m_ExpressionName  = Path.GetFileNameWithoutExtension(m_ExpressionPath);
            m_ExpressionTitle = new GUIContent(m_ExpressionName, Icons.quicksearch, m_ExpressionPath);

            m_Expression = new SearchExpression(SearchSettings.GetContextOptions());
            m_Expression.Load(m_ExpressionPath);

            m_Variables = SearchVariable.UpdateVariables(m_Expression, m_Variables);
            SearchVariable.Evaluate(m_Variables, m_Expression, null);
        }