public void Run(IEnvironment env)
        {
            var variable = new NumberValue();
            env.CreateVariable(Name, variable);

            if (Value != null)
            {
                variable.Number = Value.Evaluate(env).Number;
            }
        }
 public void Run(IEnvironment env)
 {
     if (Value == null)
     {
         env.CreateIntermediate(Name, (int)W.Evaluate(env).Number, (int)H.Evaluate(env).Number);
     }
     else
     {
         IQueryValue value = new CanvasValue() {Canvas = Value.Evaluate(env).Canvas};
         env.CreateVariable(Name, value);
     }
 }
        public void Run(IEnvironment env)
        {
            IQueryValue value = null;
            if (!env.HasParameter(Name))
            {
                if (Value == null)
                    throw new KeyNotFoundException(string.Format("Parameter \"{0}\" was not defined", Name));

                value = Value.Evaluate(env);
            }
            else
            {
                value = env.GetParameter(Name);
            }

            if(value.GetIQLType() != IQLType.Color)
                throw new InvalidOperationException(string.Format("Parameter \"{0}\" must be a color", Name));

            env.CreateVariable(Name, value);
        }