/// <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); }
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); }