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)); } }
public Fleet(Player owner, Vector2D position, LinkedList <AMission> missions) { this.Owner = owner; this.Position = position; this.Missions = missions; this.Ships = new ShipGroupCollection(); }
private Fleet(Fleet original, PlayersRemap playersRemap, Player owner) { this.Owner = owner; this.Position = original.Position; this.Missions = new LinkedList <AMission>(); foreach (var item in original.Missions) { this.Missions.AddLast(playersRemap.Missions[item]); } this.Ships = new ShipGroupCollection(); foreach (var item in original.Ships) { this.Ships.Add(item.Copy(playersRemap)); } }