namespace Devoid.Sessions { using Devoid.Net.Server.Messages; using System; using System.Collections.Generic; public class sessionHandler { public Dictionary mSessions = new Dictionary(); public userSession trackerSession; public void addSession(userSession pSession) { if (!this.mSessions.ContainsKey(pSession.Username)) { this.mSessions.Add(pSession.Username, pSession); } } public bool containsSession(string Username) { return this.mSessions.ContainsKey(Username); } public userSession getSession(string Username) { if (this.mSessions.ContainsKey(Username)) { return this.mSessions[Username]; } return null; } public void removeSession(string Username) { this.mSessions.Remove(Username); } public void sendDataToSessions(bool includeTracker, byte[] bData) { if (includeTracker) { this.trackerSession.Connection.sendDataToServer(bData); } lock (this.mSessions) { foreach (userSession session in this.mSessions.Values) { session.Connection.sendDataToServer(bData); } } } public void sendMessageToSessions(bool includeTracker, clientMessage pMessage) { this.sendDataToSessions(includeTracker, pMessage.GetBytes()); } public int sessionCount { get { return this.mSessions.Count; } } } }