/// <summary> /// Pobiera z mapy uzytkownika skojarzonego z danym polaczeniem /// </summary> /// <param name = "peer">Dane polaczenie</param> /// <returns>uzytkownik skojarzony z danym polaczeniem, lub null, jesli nie znaleziono</returns> public User GetUser(Peer peer) { if (_currentUserConnection == peer) { return _currentUser; } User user; if (!_connectedUsers.TryGetValue(peer, out user)) { // NetworkModule.Notification("Connection not linked to user: " + peer.Address, NotificationType.ERROR); return null; } return user; }
/// <summary> /// Zapamietanie aktualnego uzytkownika bedacego arbitrem i jego polaczenie /// </summary> /// <param name = "arbiter">Dany uzytkownik</param> /// <param name = "peer">Dane polaczenie</param> public void LinkArbiter(User arbiter, Peer peer) { _arbiterUser = arbiter; _arbiterConnection = peer; _netModule.UsersStructure.arbiter = arbiter; }
/// <summary> /// Kojarzy ze soba uzytkownika i polaczenie /// </summary> /// <param name = "user">Dany uzytkownik</param> /// <param name = "peer">Dane polaczenie</param> public void LinkUserAndConnection(User user, Peer peer) { if (_connectedUsers.ContainsKey(peer)) { return; } if (_userConnections.ContainsKey(user)) { return; } _connectedUsers.Add(peer, user); _userConnections.Add(user, peer); }
/// <summary> /// </summary> public void UnlinkArbiter() { _arbiterUser = null; _arbiterConnection = null; _netModule.UsersStructure.arbiter = null; }
/// <summary> /// Kojarzy lokalnego uzytkownika /// </summary> /// <param name = "local">Lokalny uzytkownik</param> /// <param name = "peer">Lokalne polaczenie</param> public void LinkCurrentUser(User local, LocalPeer peer) { _currentUser = local; _currentUserConnection = peer; }