Exemple #1
0
        public string Evaluate(WooState state)
        {
            if (_IsNull)
            {
                return(_Argument.Evaluate(state));
            }
            else
            {
                if (_AssignOp.Equals("=", StringComparison.Ordinal))
                {
                    return("set(" + _Target + ", " + _Argument.Evaluate(state) + ")");
                }
                if (_AssignOp.Equals("*=", StringComparison.Ordinal))
                {
                    return("set(" + _Target + ", mul(" + _Target + ", " + _Argument.Evaluate(state) + "))");
                }
                if (_AssignOp.Equals("/=", StringComparison.Ordinal))
                {
                    return("set(" + _Target + ", div(" + _Target + ", " + _Argument.Evaluate(state) + "))");
                }
                if (_AssignOp.Equals("-=", StringComparison.Ordinal))
                {
                    return("set(" + _Target + ", sub(" + _Target + ", " + _Argument.Evaluate(state) + "))");
                }
                if (_AssignOp.Equals("+=", StringComparison.Ordinal))
                {
                    return("set(" + _Target + ", add(" + _Target + ", " + _Argument.Evaluate(state) + "))");
                }
            }

            throw new EvaluateException("Failed to evaluate shader statement");
        }