public GameRoom(string gameRoomId, Server server, ManagerLogger logger) { GameRoomId = gameRoomId; _server = server; Players = new List<PlayerAndConnection>(); _cancellationTokenSource = new CancellationTokenSource(); _task = new Task(Update,_cancellationTokenSource.Token); _task.Start(); _logger = logger; ManagerCamera = new ManagerCamera(); }
private PlayerAndConnection CreatePlayer(NetIncomingMessage inc, List<PlayerAndConnection> players, ManagerCamera managerCamera) { var random = new Random(); var player = new Player { Username = inc.ReadString(), Position = new Position {XPosition = random.Next(0, 750), YPosition = random.Next(0, 420) } }; var playerVectorPosition = new Vector2(player.Position.XPosition, player.Position.YPosition); var screenPosition = managerCamera.WorldToScreenPosition(playerVectorPosition); player.Position.ScreenXPosition = (int) screenPosition.X; player.Position.ScreenYPosition = (int) screenPosition.Y; player.Position.Visible = managerCamera.InScreenCheck(playerVectorPosition); var playerAndConnection = new PlayerAndConnection(player, inc.SenderConnection); players.Add(playerAndConnection); return playerAndConnection; }