예제 #1
0
        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();
        }
예제 #2
0
 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));
 }