public ServerDataControl(Manager manager, ServerPinger pinger, ServerSaveData server) : base(manager) { //Setup Passive = false; Height = 76; ClientWidth = 450 - 16; Data = server; //Background "gradient" image //TODO: Make an actual control. not a statusbar Gradient = new StatusBar(manager); Gradient.Init(); Gradient.Alpha = .8f; Add(Gradient); //Add controls Name = new Label(Manager) { Width = this.Width, Text = server.Name, Left = 4, Top = 4, Font = FontSize.Default14, Alignment = Alignment.TopLeft}; Name.Init(); Add(Name); Stats = new Label(Manager) { Width = this.Width, Text = string.Empty, Alignment = Alignment.TopLeft, Top = 4, Font = FontSize.Default14, }; Stats.Init(); Add(Stats); Motd = new Label(Manager) { Width = this.Width, Left = 4, Top = Name.Bottom + 8, Font = FontSize.Default8, Alignment = Alignment.TopLeft }; Motd.Init(); Motd.Text = "Querying server for data..."; Motd.Height = (int)Manager.Skin.Fonts["Default8"].Height * 2; Add(Motd); Host = new Label(Manager) { Width = this.Width, Text = server.GetHostString(), Alignment = Alignment.TopLeft, Left = 4, Top = Motd.Bottom, TextColor = Color.LightGray }; Host.Init(); Add(Host); //Ping the server for stats on a seperate thread new Thread(() => PingServer(pinger)).Start(); }
public void EditServer(int index,ServerSaveData server) { Servers[index] = server; IO.WriteServers(Servers); RefreshServerList(); }
public void AddServer(ServerSaveData server) { Servers.Add(server); IO.WriteServers(Servers); RefreshServerList(); }