fix: список игроков в сети
This commit is contained in:
@@ -66,7 +66,7 @@ public class InMemoryPlayerManager implements PlayerManager, Runnable {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getCountOnlinePlayers() {
|
public int getCountOnlinePlayers() {
|
||||||
return players.size();
|
return (int) players.stream().filter(Player::isOnline).count();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
|
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@@ -162,6 +163,16 @@ public class PacketHandler extends SimpleChannelInboundHandler<CSPacket> {
|
|||||||
channel.attr(ATTR_PLAYER).set(player);
|
channel.attr(ATTR_PLAYER).set(player);
|
||||||
player.setChannel(new WrapperNetChannel(channel));
|
player.setChannel(new WrapperNetChannel(channel));
|
||||||
playerManager.joinServer(player);
|
playerManager.joinServer(player);
|
||||||
|
|
||||||
|
// send Player info
|
||||||
|
List<Player> players = playerManager.getPlayers();
|
||||||
|
players.forEach(pl -> {
|
||||||
|
PlayerInfoPacket infoPkt = new PlayerInfoPacket();
|
||||||
|
infoPkt.setPlayerName(pl.getName());
|
||||||
|
infoPkt.setOnline(true);
|
||||||
|
infoPkt.setPing(4);
|
||||||
|
playerManager.getBroadcastChannel().writeAndFlush(infoPkt);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user