Example #1
0
        /// <summary>Handles the welcome message from the server.</summary>
        /// <param name="packet">the packet</param>
        private void HandleWelcome(Packet packet)
        {
            string message = packet.ReadString();
            int    id      = packet.ReadInt();

            ConnectToUdp(id);
            OnWelcomeReceived?.Invoke(this, new WelcomeEventArgs(message, id));
            SendWelcomeReceived();
        }
Example #2
0
        /// <summary>Handles the welcome message which was sent back</summary>
        /// <param name="clientId">The client id, which sent the welcome message</param>
        /// <param name="packet">The packet</param>
        public void HandleWelcomeReceived(int clientId, Packet packet)
        {
            int    clientIdCheck = packet.ReadInt();
            string username      = packet.ReadString();

            if (clientIdCheck != clientId)
            {
                Server.Instance.Clients[clientId].Disconnect();
                throw new ConnectionFailedException($"Player \"{username}\" (ID: {clientId}) has assumed the wrong client ID ({clientIdCheck})!");
            }

            Server.Instance.Clients[clientId].Username = username;

            OnWelcomeReceived?.Invoke(this, new WelcomeEventArgs(username, clientId));
        }