Esempio n. 1
0
        public void SaveUser(string name, Ship s)
        {
            string pass = "";
            string date = "";

            int[] components = { s.engineType, s.reactorType, s.shieldType, s.armorPlates[0].armorType, s.armorPlates[1].armorType, s.armorPlates[2].armorType, s.armorPlates[3].armorType };
            try
            {
                reader = XmlReader.Create("world\\players\\" + name + ".xml");
                while (reader.Read())
                {
                    if (reader.IsStartElement())
                    {
                        switch (reader.Name)
                        {
                        case "Password":
                            reader.Read();
                            pass = reader.Value;
                            break;

                        case "Date":
                            reader.Read();
                            date = reader.Value;
                            break;
                        }
                    }
                    if (pass.Length > 0)
                    {
                        break;
                    }
                }
                reader.Close();
                settings.Indent             = true;
                settings.OmitXmlDeclaration = true;
                writer = XmlWriter.Create("world\\players\\" + name + ".xml", settings);
                writer.WriteStartDocument();
                writer.WriteStartElement("User");
                {
                    writer.WriteElementString("Password", pass);
                    writer.WriteElementString("Date", date);
                    writer.WriteElementString("Faction", ((byte)s.shipFaction).ToString());
                    writer.WriteStartElement("Ship");
                    {
                        writer.WriteElementString("ShipType", ((byte)s.shipType).ToString());
                        writer.WriteElementString("Engine", components[0].ToString());
                        writer.WriteElementString("Reactor", components[1].ToString());
                        writer.WriteElementString("Shield", components[2].ToString());
                        writer.WriteElementString("ArmorFace", components[3].ToString());
                        writer.WriteElementString("ArmorFront", components[5].ToString());
                        writer.WriteElementString("ArmorLeft", components[6].ToString());
                        writer.WriteElementString("ArmorRight", components[4].ToString());
                        writer.WriteStartElement("GunSlots");
                        {
                            writer.WriteElementString("Count", s.gunSlots.Length.ToString());
                            for (int i = 0; i < s.gunSlots.Length; i++)
                            {
                                if (s.gunSlots[i] != null)
                                {
                                    writer.WriteElementString("GunType", ((byte)s.gunSlots[i].gunType).ToString());
                                }
                            }
                        }
                        writer.WriteEndElement();
                    }
                    writer.WriteEndElement();
                }
                writer.WriteEndElement();
                writer.WriteEndDocument();
                writer.Close();
            }
            catch (IOException e)
            {
                ServerCore.LogAdd("" + e);
                if (reader != null)
                {
                    reader.Close();
                }
            }
        }
Esempio n. 2
0
 private void StopLocalServer()
 {
     Core.console.AddDebugString("Closing server...");
     ServerCore.GetServerCore().Stop();
     Core.console.AddDebugString("Server closed");
 }