public override void Save(XElement element) { XElement modeElement = new XElement("SinglePlayerCampaign", new XAttribute("money", Money), new XAttribute("cheatsenabled", CheatsEnabled)); //save and remove all items that are in someone's inventory so they don't get included in the sub file as well foreach (Character c in Character.CharacterList) { if (c.Info == null) { continue; } if (c.IsDead) { CrewManager.RemoveCharacterInfo(c.Info); } c.Info.LastControlled = c == lastControlledCharacter; c.Info.HealthData = new XElement("health"); c.CharacterHealth.Save(c.Info.HealthData); if (c.Inventory != null) { c.Info.InventoryData = new XElement("inventory"); c.SaveInventory(c.Inventory, c.Info.InventoryData); c.Inventory?.DeleteAllItems(); } } CrewManager.Save(modeElement); CampaignMetadata.Save(modeElement); Map.Save(modeElement); CargoManager?.SavePurchasedItems(modeElement); UpgradeManager?.SavePendingUpgrades(modeElement, UpgradeManager?.PendingUpgrades); element.Add(modeElement); }
public override void Save(XElement element) { XElement modeElement = new XElement("SinglePlayerCampaign", new XAttribute("money", Money), new XAttribute("cheatsenabled", CheatsEnabled)); CrewManager.Save(modeElement); Map.Save(modeElement); element.Add(modeElement); }
public override void Save(XElement element) { XElement modeElement = new XElement("SinglePlayerCampaign", // Refunds the money when save & quitting from the map if there are items selected in the store new XAttribute("money", Money + (CargoManager != null ? CargoManager.GetTotalItemCost() : 0)), new XAttribute("cheatsenabled", CheatsEnabled)); CrewManager.Save(modeElement); Map.Save(modeElement); element.Add(modeElement); }
public override void Save(XElement element) { XElement modeElement = new XElement("SinglePlayerCampaign", new XAttribute("money", Money), new XAttribute("cheatsenabled", CheatsEnabled)); CrewManager.Save(modeElement); Map.Save(modeElement); if (ContextualTutorial.Initialized) { ContextualTutorial.SavePartiallyComplete(modeElement); } element.Add(modeElement); }
public override void Save(XElement element) { XElement modeElement = new XElement("SinglePlayerCampaign", new XAttribute("money", Money), new XAttribute("purchasedlostshuttles", PurchasedLostShuttles), new XAttribute("purchasedhullrepairs", PurchasedHullRepairs), new XAttribute("purchaseditemrepairs", PurchasedItemRepairs), new XAttribute("cheatsenabled", CheatsEnabled)); modeElement.Add(Settings.Save()); //save and remove all items that are in someone's inventory so they don't get included in the sub file as well foreach (Character c in Character.CharacterList) { if (c.Info == null) { continue; } if (c.IsDead) { CrewManager.RemoveCharacterInfo(c.Info); } c.Info.LastControlled = c == lastControlledCharacter; c.Info.HealthData = new XElement("health"); c.CharacterHealth.Save(c.Info.HealthData); if (c.Inventory != null) { c.Info.InventoryData = new XElement("inventory"); c.SaveInventory(); c.Inventory?.DeleteAllItems(); } c.Info.SaveOrderData(); } petsElement = new XElement("pets"); PetBehavior.SavePets(petsElement); modeElement.Add(petsElement); CrewManager.Save(modeElement); CampaignMetadata.Save(modeElement); Map.Save(modeElement); CargoManager?.SavePurchasedItems(modeElement); UpgradeManager?.Save(modeElement); element.Add(modeElement); }