Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }