/// <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(); }
/// <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)); }