/// <summary> /// Checks the new user's ID to the other connected clients so they don't collide /// </summary> /// <param name="node">The new user.</param> /// <returns>A bool</returns> private bool CheckUserId(SessionNode node) { foreach (SessionUser user in nodes) { if (node.UserID == user.UserID) { node.UserID = IDGenerator.GenerateID(node.UserID); CheckUserId(node); } } return(true); }
/// <summary> /// Connects the user to the session. /// </summary> /// <param name="node">The SessionNode joining the session</param> /// <param name="password">Optional parameter. Password to authenticate the user.</param> /// <returns>A bool</returns> public bool UserJoin(SessionNode node, string password = "") { CheckUserId(node); if (!passwordProtected) { nodes.Add(node); } else if (passwordProtected && AuthorizeUser(password)) { nodes.Add(node); } else { return(false); } return(true); }