Beispiel #1
0
        /// <summary>
        /// Wrong name. Does in fact check if the user may be added, then ALSO adds the user to the node
        /// </summary>
        /// <param name="user"></param>
        /// <param name="ship"></param>
        /// <param name="node"></param>
        /// <returns></returns>
        public static string checkShipAtCommNode(Core.User user, Core.Ship ship, Core.CommunicationNode node)
        {
            string ret = "";


            //List<SpacegameServer.Core.DiplomaticRelation> newContacts = new List<SpacegameServer.Core.DiplomaticRelation>();
            if (!node.checkAndAddUser(user, ship))
            {
                return(ret);
            }

            SpacegameServer.BC.XMLGroups.CommNodeData nodeData = new SpacegameServer.BC.XMLGroups.CommNodeData();
            //nodeData.xmlKnownUsers = SpacegameServer.BC.XMLGroups.UserContacts.createContacts(user, newContacts);


            nodeData.commNodes          = new XMLGroups.CommNodes();
            nodeData.commNodes.commNode = new List <XMLGroups.CommNode>();
            nodeData.commNodes.commNode.Add(XMLGroups.CommNode.createCommNode(node, user));

            //Todo: only transfer "new" alliance contact data
            //nodeData.allianceDiplomacy = XMLGroups.KnownAlliances.createAllianceContacts(user);
            //nodeData.allianceRelations = XMLGroups.AllianceUserRelations.createAllianceUserRelations(user);

            BusinessConnector.Serialize <SpacegameServer.BC.XMLGroups.CommNodeData>(nodeData, ref ret, true);

            return(ret);
        }
Beispiel #2
0
        public string getShipData(int?shipId)
        {
            //userData userData = new userData();
            //userData.ships.ship = new List<Core.Ship>();

            BC.XMLGroups.userData userData = new BC.XMLGroups.userData();
            userData.ships = new List <Core.Ship>();

            Core.Core core = Core.Core.Instance;

            //check if user exists:
            if (core.users.ContainsKey(userId))
            //if (userId >= 0 && userId < core.users.Length)
            {
                if (Core.Core.Instance.users[userId] != null)
                {
                    Core.User user = core.users[userId];

                    //check ship parameter
                    if (shipId != null)
                    {
                        if (core.ships.ContainsKey((int)shipId))
                        //if (shipId >= 0 && shipId < core.ships.Length)
                        {
                            Core.Ship ship = core.ships[(int)shipId];
                            if (ship.userid == user.id)
                            {
                                //userData.ships.ship.Add(ship);
                                userData.ships.Add(ship);
                            }
                        }
                    }
                    else
                    {
                        //userData.ships.ship = user.ships;
                        userData.ships = user.ships;
                    }
                }
            }



            string x = "";

            BusinessConnector.Serialize <BC.XMLGroups.userData>(userData, ref x, true);

            return(x);
        }
        public string checkShipAtCommNode(int userId, int shipId, int comNodeId)
        {
            string xml = "";

            if (!Core.Core.Instance.users.ContainsKey(userId))
            {
                return(xml);
            }
            if (!Core.Core.Instance.ships.ContainsKey(shipId))
            {
                return(xml);
            }
            if (!Core.Core.Instance.commNodes.ContainsKey(comNodeId))
            {
                return(xml);
            }

            Core.User user = Core.Core.Instance.users[userId];
            Core.Ship ship = Core.Core.Instance.ships[shipId];
            Core.CommunicationNode node = Core.Core.Instance.commNodes[comNodeId];
            if (ship.userid != userId)
            {
                return(xml);
            }

            try
            {
                xml = BC.Ship.checkShipAtCommNode(user, ship, node);
            }
            catch (Exception ex)
            {
                SpacegameServer.Core.Core.Instance.writeExceptionToLog(ex);
            }

            return(xml);
        }