public override void Draw(Graphics g, double deltaTime) { base.Draw(g, deltaTime); Vector2 sub = Size * MMWMath.Lerp(0.95f, 1.0f, rate); var pos = WorldLocation + (Size - sub) * 0.5f; var add = (SelectedPanel == this ? 0.15f : 0.0f); var r = MMWMath.Lerp(0.75f, 1.0f, rate); r += Connected ? 0.3f : 0.0f; Drawer.DrawTextureScaled(texImage, pos.X, pos.Y, sub.X, sub.Y, new Color4(backColor.R * r, backColor.G * r + add, backColor.B * r, 1.0f)); if (texIcon != null && texIcon.Loaded) { var iconSize = texIcon.Size.ToVector2(); iconSize = new Vector2(64.0f); var iconPos = WorldLocation + (Size - iconSize) * 0.5f; Drawer.DrawTextureScaled(texIcon, iconPos.X, WorldLocation.Y + 24.0f, iconSize.X, iconSize.Y, Color4.White); } var size = g.MeasureString(Info.WorldName, DefaultFont); g.DrawString(Info.WorldName, DefaultFont, Brushes.White, WorldLocation.X + (Size.X - size.Width) * 0.5f, WorldLocation.Y + (Size.Y - size.Height) * 0.5f + 24.0f); size = g.MeasureString(Info.HostName, DefaultFontS); g.DrawString(Info.HostName, DefaultFontS, Brushes.LightGray, WorldLocation.X + (Size.X - size.Width) * 0.5f, WorldLocation.Y + (Size.Y - size.Height) * 0.5f + 48.0f); Icons.DrawConnection(g, WorldLocation.X + Size.X - 50.0f, WorldLocation.Y + 20.0f, 20.0f, 20.0f, Connected ? 2 : 0); }