public static void Connect(ServerItem item) { MainForm.Instance.Tabs.TabPages.RemoveByKey("No Connection"); if (ConnectedServers.Any(x => x.ServerInfo.Name == item.Name)) { int tabIndex = MainForm.Instance.Tabs.TabPages.IndexOfKey(item.Name); MainForm.Instance.Tabs.SelectTab(tabIndex); return; } var tabManager = TabManager.Instance; TabPage page = tabManager.DefaultPage; page.Name = item.Name; page.Text = item.Name; ServerConnection connection = new ServerConnection(item, tabManager); tabManager.commandBox.KeyUp += connection.OnCommandBoxKey; tabManager.sayBox.KeyUp += connection.OnChatBoxKey; MainForm.Instance.Tabs.TabPages.Add(page); ConnectedServers.Add(connection); connection.Connect(); }
public ServerConnection(ServerItem item, TabManager tab) { this.ServerInfo = item; this.Tab = tab; this.RCONInstance = new RCONConnection(item.IP, item.RconPort, item.Password, (message) => OnMessage(message)); }