Example #1
0
        public bool addShipToField(Ship _ship)
        {
            int   regionId = GeometryIndex.calcRegionId(_ship.posX, _ship.posY);
            Field field    = GeometryIndex.regions[regionId].findOrCreateField(_ship.posX, _ship.posY);

            SpacegameServer.Core.NodeQuadTree.Field shipField2 = new SpacegameServer.Core.NodeQuadTree.Field(_ship.posX, _ship.posY);
            nodeQuadTree.insertShip(shipField2, _ship);

            return(field.AddShip(_ship));
        }
Example #2
0
        public void getCommNodes(SpacegameServer.Core.Core _core)
        {
            var commNodeId  = (int)_core.identities.commNode.getNext();
            int DefaultUser = 0;

            CommunicationNode node = new CommunicationNode(commNodeId);

            node.userId    = DefaultUser;
            node.positionX = 5000;
            node.positionY = 5000;

            node.sysX = null;
            node.sysY = null;

            node.connectionType  = 0;
            node.connectionId    = _core.ships.First().Key;
            node.activ           = true;
            node.unformattedName = "";
            node.name            = "";

            _core.commNodes.TryAdd(commNodeId, node);
            SpacegameServer.Core.NodeQuadTree.Field commNodeField = new SpacegameServer.Core.NodeQuadTree.Field(node.positionX, node.positionY);
            _core.nodeQuadTree.insertNode(commNodeField, node.id);


            commNodeId     = (int)_core.identities.commNode.getNext();
            node           = new CommunicationNode(commNodeId);
            node.userId    = DefaultUser;
            node.positionX = 5001;
            node.positionY = 5001;

            node.sysX = null;
            node.sysY = null;

            node.connectionType  = 0;
            node.connectionId    = _core.ships[1].id;
            node.activ           = true;
            node.unformattedName = "";
            node.name            = "";

            _core.commNodes.TryAdd(commNodeId, node);
            commNodeField = new SpacegameServer.Core.NodeQuadTree.Field(node.positionX, node.positionY);
            _core.nodeQuadTree.insertNode(commNodeField, node.id);
        }
Example #3
0
        public static void createCommNodeBuilding(ColonyBuilding building)
        {
            if (building.buildingId != 8)
            {
                return;
            }

            CommunicationNode node = new CommunicationNode((int)Core.Instance.identities.commNode.getNext());

            node.userId          = building.userId;
            node.name            = building.colony.name;
            node.unformattedName = building.colony.name;

            node.positionX = building.colony.X;
            node.positionY = building.colony.Y;
            node.systemX   = building.colony.SystemX;
            node.systemY   = building.colony.SystemY;

            node.connectionType = 1;
            node.connectionId   = building.id;
            node.activ          = true;

            var instance = Core.Instance;

            instance.commNodes.TryAdd(node.id, node);

            //add to tree
            SpacegameServer.Core.NodeQuadTree.Field commNodeField2 = new SpacegameServer.Core.NodeQuadTree.Field(node.positionX, node.positionY);
            instance.nodeQuadTree.insertNode(commNodeField2, node.id);

            //add CommNodeUser
            CommNodeUser user = new CommNodeUser(building.userId, node.id);

            node.commNodeUsers.TryAdd(building.userId, user);
            instance.users[building.userId].commNodeRights.Add(node.id, user);

            instance.dataConnection.saveCommNode(node);

            building.node = node;
        }