示例#1
0
        public static float GetFoldoutHeight(Expression expression, bool isExpanded, bool fullWidth, int minimumLines, int maximumLines)
        {
            var expressionHeight = StringDisplayDrawer.GetFoldoutAreaHeight(expression.Statement, isExpanded, fullWidth, false, minimumLines, maximumLines);
            var errorHeight      = isExpanded ? GetErrorHeight(expression) : 0.0f;

            return(expressionHeight + errorHeight);
        }
示例#2
0
        public static float GetHeight(Expression expression, bool fullWidth, int minimumLines, int maximumLines)
        {
            var expressionHeight = StringDisplayDrawer.GetAreaHeight(expression.Statement, fullWidth, false, minimumLines, maximumLines);
            var errorHeight      = GetErrorHeight(expression);

            return(expressionHeight + errorHeight);
        }
示例#3
0
        private static void DrawExpression(Rect position, Expression expression, GUIContent label, bool fullWidth, bool foldout, ref bool isExpanded)
        {
            using (new InvalidScope(!expression.HasError))
            {
                using (var changes = new EditorGUI.ChangeCheckScope())
                {
                    var statement = foldout
                                                ? StringDisplayDrawer.DrawFoldoutArea(position, label, expression.Statement, ref isExpanded, fullWidth, false)
                                                : StringDisplayDrawer.DrawArea(position, label, expression.Statement, fullWidth, false);

                    if (changes.changed)
                    {
                        expression.SetStatement(statement);
                    }
                }
            }
        }