Beyond_Beyaan.Ship.Load C# (CSharp) Метод

Load() публичный Метод

public Load ( System.Xml.Linq.XElement shipDesign, GameMain gameMain ) : void
shipDesign System.Xml.Linq.XElement
gameMain GameMain
Результат void
        public void Load(XElement shipDesign, GameMain gameMain)
        {
            Name = shipDesign.Attribute("Name").Value;
            DesignID = int.Parse(shipDesign.Attribute("DesignID").Value);
            Size = int.Parse(shipDesign.Attribute("Size").Value);
            WhichStyle = int.Parse(shipDesign.Attribute("WhichStyle").Value);
            Engine = new KeyValuePair<Equipment, float>(LoadEquipment(shipDesign.Attribute("Engine").Value, gameMain), float.Parse(shipDesign.Attribute("NumOfEngines").Value));
            Armor = LoadEquipment(shipDesign.Attribute("Armor").Value, gameMain);
            Shield = LoadEquipment(shipDesign.Attribute("Shield").Value, gameMain);
            Computer = LoadEquipment(shipDesign.Attribute("Computer").Value, gameMain);
            ECM = LoadEquipment(shipDesign.Attribute("ECM").Value, gameMain);
            int iter = 0;
            foreach (var weapon in shipDesign.Elements("Weapon"))
            {
                if (weapon.Attribute("Name").Value == "null")
                {
                    Weapons[iter] = new KeyValuePair<Equipment, int>();
                }
                else
                {
                    var weaponTech = LoadEquipment(weapon.Attribute("Name").Value, gameMain);
                    weaponTech.UseSecondary = bool.Parse(weapon.Attribute("IsSecondary").Value);
                    Weapons[iter] = new KeyValuePair<Equipment, int>(weaponTech, int.Parse(weapon.Attribute("NumOfMounts").Value));

                }
                iter++;
            }
            iter = 0;
            foreach (var special in shipDesign.Elements("Special"))
            {
                if (special.Attribute("Name").Value == "null")
                {
                    Specials[iter] = null;
                }
                else
                {
                    var specialTech = LoadEquipment(special.Attribute("Name").Value, gameMain);
                    Specials[iter] = specialTech;
                }
                iter++;
            }
        }

Usage Example

Пример #1
0
        public void Load(XElement empireDoc, Empire empire, GameMain gameMain)
        {
            var currentDesigns = empireDoc.Element("CurrentShipDesigns");

            foreach (var currentDesign in currentDesigns.Elements())
            {
                var currentShip = new Ship();
                currentShip.Load(currentDesign, gameMain);
                currentShip.Owner = empire;
                CurrentDesigns.Add(currentShip);
            }

            /*var obsoleteDesigns = empireDoc.Element("ObsoleteShipDesigns");
             * foreach (var obsoleteDesign in obsoleteDesigns.Elements())
             * {
             *      var obsoleteShip = new Ship();
             *      obsoleteShip.Load(obsoleteDesign, gameMain);
             *      obsoleteShip.Owner = empire;
             *      ObsoleteDesigns.Add(obsoleteShip);
             * }*/
            var fleets = empireDoc.Element("Fleets");

            foreach (var fleet in fleets.Elements())
            {
                var newFleet = new Fleet();
                newFleet.Load(fleet, this, empire, gameMain);
                _fleets.Add(newFleet);
            }
        }
All Usage Examples Of Beyond_Beyaan.Ship::Load