예제 #1
0
        internal void Update()
        {
            while (isRunning)
            {
                bool polled = false;

                while (!polled)
                {
                    if (Host.CheckEvents(out Event e) <= 0)
                    {
                        if (Host.Service(15, out e) <= 0)
                        {
                            break;
                        }

                        polled = true;
                    }

                    switch (e.Type)
                    {
                    case EventType.None:
                        break;

                    case EventType.Connect:
                        OnConnect(e);
                        break;

                    case EventType.Disconnect:
                        OnDisconnect(e);
                        break;

                    case EventType.Timeout:
                        OnTimeout(e);
                        break;

                    case EventType.Receive:
                        OnMessageReceived(e);
                        e.Packet.Dispose();
                        break;
                    }
                }
            }

            // Clean up the host resources
            Host.Flush();
            Host.Dispose();

            ENetLibrary.DeinitializeLibrary();
        }
예제 #2
0
 protected FlareClient()
 {
     ENetLibrary.InitializeLibrary();
     Host = new Host();             // New host is created anyway, do it with init
 }