private PlayerOrders(PlayerOrders original, PlayersRemap playersRemap, GalaxyRemap galaxyRemap) { this.DevelopmentFocusIndex = original.DevelopmentFocusIndex; this.DevelopmentQueue = new Dictionary <string, int>(); foreach (var item in original.DevelopmentQueue) { this.DevelopmentQueue.Add(item.Key, item.Value); } this.ResearchFocus = original.ResearchFocus; this.ConstructionPlans = new Dictionary <AConstructionSite, ConstructionOrders>(); foreach (var item in original.ConstructionPlans) { this.ConstructionPlans.Add(playersRemap.Site(item.Key), item.Value.Copy()); } this.ShipOrders = new Dictionary <Vector2D, HashSet <Fleet> >(); foreach (var item in original.ShipOrders) { this.ShipOrders.Add(item.Key, copyFleetRegroup(item.Value, playersRemap)); } this.ColonizationOrders = new Dictionary <Planet, ColonizationPlan>(); foreach (var item in original.ColonizationOrders) { this.ColonizationOrders.Add(galaxyRemap.Planets[item.Key], item.Value); } this.RefitOrders = new Dictionary <Design, Design>(); foreach (var item in original.RefitOrders) { this.RefitOrders.Add(playersRemap.Designs[item.Key], copyRefitTo(item.Value, playersRemap)); } this.AudienceRequests = new HashSet <int>(); foreach (var item in original.AudienceRequests) { this.AudienceRequests.Add(item); } }
public static PlayerOrders Load(IkonComposite rawData, ObjectDeindexer deindexer) { var loadedData = new PlayerOrders(rawData, deindexer); deindexer.Add(loadedData); return(loadedData); }