public static List <CommNode> createSingleNodeList(Core.CommunicationNode node, Core.User user) { List <CommNode> commNodes = new List <CommNode>(); //create known nodes if (Core.Core.Instance.commNodes.ContainsKey(node.id)) { CommNode xmlNode = CommNode.createCommNode( node, user); commNodes.Add(xmlNode); } return(commNodes); }
public static List <CommNode> createKnownAndNearNodesList(Core.User user) { List <CommNode> commNodes = new List <CommNode>(); //create known nodes foreach (var node in user.commNodeRights) { if (Core.Core.Instance.commNodes.ContainsKey(node.Key)) { CommNode xmlNode = CommNode.createCommNode( Core.Core.Instance.commNodes[node.Key], user); commNodes.Add(xmlNode); } } //fetch nearby nodes SpacegameServer.Core.NodeQuadTree.BoundarySouthWest boundarySouthWest = new SpacegameServer.Core.NodeQuadTree.BoundarySouthWest(user.homeCoordX - 80, user.homeCoordY - 80); SpacegameServer.Core.NodeQuadTree.Bounding NodeQuadTreeBounding = new SpacegameServer.Core.NodeQuadTree.Bounding(boundarySouthWest, 160); List <int> nearby = Core.Core.Instance.nodeQuadTree.queryRange(NodeQuadTreeBounding); foreach (var id in nearby) { if (Core.Core.Instance.commNodes.ContainsKey(id)) { var node = Core.Core.Instance.commNodes[id]; if (node.commNodeUsers.ContainsKey(user.id)) { continue; } CommNode xmlNode = CommNode.createCommNode( node, user); commNodes.Add(xmlNode); } } return(commNodes); }