Beispiel #1
0
            public PerksTab(HeroClass cl)
            {
                float dotWidth = 0;

                var   items = cl.Perks();
                float pos   = MARGIN;

                for (var i = 0; i < items.Length; i++)
                {
                    if (i > 0)
                    {
                        pos += GAP;
                    }

                    var dot = PixelScene.CreateText(DOT, 6);
                    dot.X = MARGIN;
                    dot.Y = pos;
                    if (dotWidth == 0)
                    {
                        dot.Measure();
                        dotWidth = dot.Width;
                    }
                    Add(dot);

                    var item = PixelScene.CreateMultiline(items[i], 6);
                    item.X        = dot.X + dotWidth;
                    item.Y        = pos;
                    item.MaxWidth = (int)(WIDTH - MARGIN * 2 - dotWidth);
                    item.Measure();
                    Add(item);

                    pos += item.Height;
                    var w = item.Width;
                    if (w > Width)
                    {
                        Width = w;
                    }
                }

                Width += MARGIN + dotWidth;
                Height = pos + MARGIN;
            }