private void OnJoinReceived(JoinPacket joinPacket, NetPeer peer) { Debug.Log("[S] Join packet received: " + joinPacket.UserName); var player = new ServerPlayer(_playerManager, joinPacket.UserName, peer); _playerManager.AddPlayer(player); player.Spawn(new Vector2(Random.Range(-2f, 2f), Random.Range(-2f, 2f))); //Send join accept var ja = new JoinAcceptPacket { Id = player.Id }; peer.Send(WritePacket(ja), DeliveryMethod.ReliableOrdered); //Send to old players info about new player var pj = new PlayerJoinedPacket(); pj.UserName = joinPacket.UserName; pj.NewPlayer = true; pj.InitialPlayerState = player.NetworkState; pj.ServerTick = _serverTick; _netManager.SendToAll(WritePacket(pj), DeliveryMethod.ReliableOrdered, peer); //Send to new player info about old players pj.NewPlayer = false; foreach (ServerPlayer otherPlayer in _playerManager) { if (otherPlayer == player) { continue; } pj.UserName = otherPlayer.Name; pj.InitialPlayerState = otherPlayer.NetworkState; peer.Send(WritePacket(pj), DeliveryMethod.ReliableOrdered); } }
public bool EnableAntilag(ServerPlayer forPlayer) { return(_antilagSystem.TryApplyAntilag(_players, _serverLogic.Tick, forPlayer.AssociatedPeer.Id)); }
public void AddPlayer(ServerPlayer player) { _players[_playersCount] = player; _playersCount++; }
public ServerPlayerSkills(ServerPlayer player) { _player = player; }