Example #1
0
        /// <summary>
        /// Returns a named color saved in the portfolio to the parent property.
        /// </summary>
        /// <returns>The named `KimonoColor` if found, or raises an error.</returns>
        /// <param name="name">The name of the color to return.</param>
        /// <param name="userData">The `ScriptEngine` executing the script.</param>
        public static void Color(string name, object userData)
        {
            // Find the requested color object
            var color = ObiScriptPortfolio.FindColor(name);

            // Found?
            if (color == null)
            {
                // No, set error state
                EvaluationResult.Successful   = false;
                EvaluationResult.ErrorMessage = $"Error: Color '{name}' not defined in portfolio.";
                EvaluationResult.Value        = null;
            }
            else
            {
                // Save result
                EvaluationResult.Successful   = true;
                EvaluationResult.ErrorMessage = "";
                EvaluationResult.Value        = color;
            }
        }