public PresenceTrackPainter( Spirit spirit, PresenceTrackLayout metrics, string presenceColor ) { this.spirit = spirit; this.metrics = metrics; this.presenceColor = presenceColor; }
public SpiritLayout(Graphics graphics, Spirit spirit, Rectangle bounds, int margin) { var rects = bounds.InflateBy(-margin).SplitVerticallyByWeight(margin, 200f, 360f, 420f, 60f); Calc_GrowthRow(spirit, rects[0], margin); trackLayout = new PresenceTrackLayout(rects[1], spirit, margin); int height = Calc_Innates(spirit, graphics, rects[2], margin); // If Innates are too tall, shrink them down. if (height > rects[2].Height) { var r = rects[2]; var scaledRect = new Rectangle(r.X, r.Y, r.Width * r.Height / height, r.Height); Calc_Innates(spirit, graphics, scaledRect, margin); } Elements = new ElementLayout(rects[3]); }