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

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

public Load ( System.Xml.Linq.XElement fleet, FleetManager fleetManager, Empire empire, GameMain gameMain ) : void
fleet System.Xml.Linq.XElement
fleetManager FleetManager
empire Empire
gameMain GameMain
Результат void
        public void Load(XElement fleet, FleetManager fleetManager, Empire empire, GameMain gameMain)
        {
            _empire = empire;
            _galaxyX = float.Parse(fleet.Attribute("X").Value);
            _galaxyY = float.Parse(fleet.Attribute("Y").Value);
            _adjacentSystem = gameMain.Galaxy.GetStarWithID(int.Parse(fleet.Attribute("AdjacentSystem").Value));
            var travelNodes = fleet.Element("TravelNodes");
            if (travelNodes != null)
            {
                _travelNodes = new List<TravelNode>();
                StarSystem startingPlace = null;
                foreach (var travelNode in travelNodes.Elements())
                {
                    var destination = gameMain.Galaxy.GetStarWithID(int.Parse(travelNode.Attribute("Destination").Value));
                    if (startingPlace == null)
                    {
                        _travelNodes.Add(gameMain.Galaxy.GenerateTravelNode(_galaxyX, _galaxyY, destination));
                    }
                    else
                    {
                        _travelNodes.Add(gameMain.Galaxy.GenerateTravelNode(startingPlace, destination));
                    }
                    startingPlace = destination;
                }
            }
            foreach (var ship in fleet.Elements("Ship"))
            {
                AddShips(fleetManager.GetShipWithDesignID(int.Parse(ship.Attribute("ShipDesign").Value)), int.Parse(ship.Attribute("NumberOfShips").Value));
            }
            foreach (var transport in fleet.Elements("Transport"))
            {
                AddTransport(gameMain.RaceManager.GetRace(transport.Attribute("Race").Value), int.Parse(transport.Attribute("Count").Value));
            }
        }

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.Fleet::Load