Exemplo n.º 1
0
        public EOBot(int index, string host, int port)
        {
            m_index = index + 1;

            m_client = new EOClient();
            if (!m_client.ConnectToServer(host, port))
            {
                throw new ArgumentException();
            }
            m_api = new PacketAPI(m_client);

            InitData data;

            if (!m_api.Initialize(0, 0, 28, EOLib.Win32.GetHDDSerial(), out data))
            {
                throw new TimeoutException();
            }
            m_client.SetInitData(data);

            if (!m_api.ConfirmInit(data.emulti_e, data.emulti_d, data.clientID))
            {
                throw new TimeoutException();
            }

            if (!m_api.Initialized || !m_client.ConnectedAndInitialized || data.ServerResponse != InitReply.INIT_OK)
            {
                throw new InvalidOperationException();
            }

            m_terminationEvent = new AutoResetEvent(false);
        }