Exemplo n.º 1
0
 public void ConfigureScreen(DrawingSurface ds, DrawingSurface.Options options)
 {
     ds.surface.Font                  = options.custom.Get("font", ds.surface.Font);
     ds.surface.FontSize              = options.size == 0f ? ds.surface.FontSize : options.size;
     ds.surface.TextPadding           = options.textPadding ?? ds.surface.TextPadding;
     ds.surface.ScriptForegroundColor = options.colour ?? ds.surface.ScriptForegroundColor;
     ds.surface.ScriptBackgroundColor = options.bgColour ?? ds.surface.ScriptBackgroundColor;
 }
Exemplo n.º 2
0
 public Node(string action, string text = null, DrawingSurface.Options opts = null)
 {
     this.action  = action;
     this.text    = text;
     this.options = opts ?? new DrawingSurface.Options();
     if (action == "text")
     {
         this.options.text = this.options.text ?? text;
         this.sprite       = DrawingSurface.TextSprite(this.options);
     }
 }
Exemplo n.º 3
0
    public DrawingSurface.Options StringToOptions(string options = "")
    {
        DrawingSurface.Options opts = new DrawingSurface.Options();
        if (options == "")
        {
            return(opts);
        }

        Dictionary <string, string> parsed = options.Split(splitSemi, StringSplitOptions.RemoveEmptyEntries)
                                             .Select(v => v.Split('='))
                                             .ToDictionary(pair => pair.Length > 1 ? pair[0] : "unknown", pair => pair.Length > 1 ? pair[1] : pair[0]);

        string value;

        if (parsed.Pop("width", out value))
        {
            opts.width = Util.ParseFloat(value);
        }
        if (parsed.Pop("height", out value))
        {
            opts.height = Util.ParseFloat(value);
        }
        if (parsed.Pop("outline", out value))
        {
            opts.outline = Util.ParseBool(value);
        }
        if (parsed.Pop("bgColour", out value))
        {
            opts.bgColour = DrawingSurface.StringToColour(value);
        }
        if (parsed.Pop("colour", out value))
        {
            opts.colour = DrawingSurface.StringToColour(value);
        }
        if (parsed.Pop("fillColour", out value))
        {
            opts.fillColour = DrawingSurface.StringToColour(value);
        }
        if (parsed.Pop("textColour", out value))
        {
            opts.textColour = DrawingSurface.StringToColour(value);
        }
        if (parsed.Pop("height", out value))
        {
            opts.height = Util.ParseFloat(value);
        }
        if (parsed.Pop("high", out value))
        {
            opts.high = Util.ParseFloat(value);
        }
        if (parsed.Pop("low", out value))
        {
            opts.low = Util.ParseFloat(value);
        }
        if (parsed.Pop("net", out value))
        {
            opts.net = Util.ParseFloat(value);
        }
        if (parsed.Pop("pad", out value))
        {
            opts.pad = Util.ParseFloat(value);
        }
        if (parsed.Pop("pct", out value))
        {
            opts.pct = Util.ParseFloat(value);
        }
        if (parsed.Pop("scale", out value))
        {
            opts.scale = Util.ParseFloat(value);
        }
        if (parsed.Pop("size", out value))
        {
            opts.size = Util.ParseFloat(value);
        }
        if (parsed.Pop("width", out value))
        {
            opts.width = Util.ParseFloat(value);
        }
        if (parsed.Pop("text", out value))
        {
            opts.text = value;
        }
        if (parsed.Pop("textPading", out value))
        {
            opts.textPadding = Util.ParseFloat(value);
        }
        if (parsed.Pop("align", out value))
        {
            opts.align = DrawingSurface.stringToAlignment.Get(value);
        }
        if (parsed.Pop("colours", out value))
        {
            opts.colours = value.Split(DrawingSurface.underscoreSep)
                           .Select(col => DrawingSurface.StringToColour(col) ?? Color.White).ToList();
        }
        if (parsed.Pop("values", out value))
        {
            opts.values = value.Split(DrawingSurface.underscoreSep)
                          .Select(pct => Util.ParseFloat(pct, 0f)).ToList();
        }

        opts.custom = parsed;

        return(opts);
    }