/// <summary> /// Handles player logins and the according callbacks /// </summary> /// <param name="peer">connected peer</param> /// <param name="reader">Netpacket without 1st byte</param> private void HandlePlayerLogin(NetPeer peer, NetPacketReader reader) { LoginPacket loginPacket = new LoginPacket(reader); PlayerConnectedEventArgs args1 = new PlayerConnectedEventArgs(); switch ((LoginMsg)loginPacket.LoginMsgType) { case LoginMsg.INIT: args1.NetPeer = peer; args1.hasSelected = false; args1.PlayerFaction = (Faction)loginPacket.Faction; args1.PlayerName = loginPacket.PlayerName; break; case LoginMsg.FACTIONSELECT: args1.NetPeer = peer; args1.hasSelected = true; args1.PlayerFaction = (Faction)loginPacket.Faction; args1.PlayerName = loginPacket.PlayerName; break; } //TODO: Change Debug //Console Output //Console.WriteLine("Player {0} login successful. Faction: {1}", loginPacket.PlayerName, (Faction)loginPacket.Faction); //Invoke Event OnPlayerConnected(args1); }
//EventInvoker #region Protected Methods protected virtual void OnPlayerConnected(PlayerConnectedEventArgs e) { PlayerConnected?.Invoke(this, e); }