Пример #1
0
        private void button1_Click(object sender, EventArgs e)
        {
            if (Status == ServiceType.None)
            {
                if (host.Text == "" || login.Text == "" || password.Text == "")
                {
                    MessageBox.Show("Please insert your logon data", "Error!");
                    return;
                }
                cl = new LogonServerClient(host.Text, login.Text, password.Text);

                cl.Connect();
                button1.Enabled   = false;
                realmlist.Enabled = true;
            }
            else if (Status == ServiceType.Logon)
            {
                Realm rl = new Realm();
                if (realmlist.SelectedItem != null)
                {
                    rl = cl.Realmlist.First(s => s.Name == realmlist.SelectedItem.ToString());
                }
                else
                {
                    HandleDisconnect();
                    return;
                }
                wl = new WorldServerClient(login.Text, rl, cl.mKey);
                //cl.HardDisconnect();
                wl.Connect();
                button1.Enabled    = false;
                charlist.Enabled   = true;
                realmlist.Enabled  = false;
                this.UseWaitCursor = true;
            }
            else if (Status == ServiceType.World)
            {
                Character rl = wl.Charlist.First(s => s.Name == charlist.SelectedItem.ToString());
                if (rl.Name == null)
                {
                    return;
                }

                wl.LoginPlayer(rl);

                this.Text = String.Format("[{0}][{1}] {2} - {3} on {4}:3724", rl.Race, rl.Class, rl.Name, wl.realm.Name, wl.realm.Address);


                button1.Enabled  = false;
                charlist.Enabled = false;
                ChatTab cTab = new ChatTab("", ChatMsg.Say);
                AddTab(cTab);
            }
        }
Пример #2
0
        private void HandleDisconnect()
        {
            if (cl != null)
            {
                cl.HardDisconnect();
                cl = null;
            }
            if (wl != null)
            {
                wl.HardDisconnect();
                cl = null;
            }

            charlist.Items.Clear();
            realmlist.Items.Clear();
            charlist.Enabled  = false;
            realmlist.Enabled = false;
            Status            = ServiceType.None;
            button1.Text      = "Connect";
            button1.Enabled   = true;
            UseWaitCursor     = false;
        }
Пример #3
0
 public PacketLoop(LogonServerClient client, Socket socket)
 {
     tClient       = client;
     tSocket       = socket;
     ServiceStatus = ServiceType.Logon;
 }