public static ShipGroup Load(IkonComposite rawData, ObjectDeindexer deindexer) { var loadedData = new ShipGroup(rawData, deindexer); deindexer.Add(loadedData); return(loadedData); }
private Fleet(IkonComposite rawData, ObjectDeindexer deindexer) { var ownerSave = rawData[OwnerKey]; this.Owner = deindexer.Get <Player>(ownerSave.To <int>()); var positionSave = rawData[PositionKey]; var positionArray = positionSave.To <IkonArray>(); double positionX = positionArray[0].To <double>(); double positionY = positionArray[1].To <double>(); this.Position = new Vector2D(positionX, positionY); var missionsSave = rawData[MissionsKey]; this.Missions = new LinkedList <AMission>(); foreach (var item in missionsSave.To <IkonArray>()) { this.Missions.AddLast(MissionFactory.Load(item, deindexer)); } var shipsSave = rawData[ShipsKey]; this.Ships = new ShipGroupCollection(); foreach (var item in shipsSave.To <IkonArray>()) { this.Ships.Add(ShipGroup.Load(item.To <IkonComposite>(), deindexer)); } }