public void Pull(PlayerV13 player, SRMod ourMod) { upgrades.AddRange(player.upgrades.Where((x) => SaveRegistry.ModForID(x) == ourMod)); availUpgrades.AddRange(player.availUpgrades.Where((x) => SaveRegistry.ModForID(x) == ourMod)); AddRange(upgradeLocks, player.upgradeLocks.Where((x) => SaveRegistry.ModForID(x.Key) == ourMod)); AddRange(progress, player.progress.Where((x) => SaveRegistry.ModForID(x.Key) == ourMod)); AddRange(delayedProgress, player.delayedProgress.Where((x) => SaveRegistry.ModForID(x.Key) == ourMod)); blueprints.AddRange(player.blueprints.Where((x) => SaveRegistry.ModForID(x) == ourMod)); availBlueprints.AddRange(player.availBlueprints.Where((x) => SaveRegistry.ModForID(x) == ourMod)); AddRange(blueprintLocks, player.blueprintLocks.Where((x) => SaveRegistry.ModForID(x.Key) == ourMod)); AddRange(gadgets, player.gadgets.Where((x) => SaveRegistry.ModForID(x.Key) == ourMod)); AddRange(craftMatCounts, player.craftMatCounts.Where((x) => SaveRegistry.ModForID(x.Key) == ourMod)); }
public void Push(PlayerV13 player) { player.upgrades.AddRange(upgrades); player.availUpgrades.AddRange(availUpgrades); AddRange(player.upgradeLocks, upgradeLocks); AddRange(player.progress, progress); AddRange(player.delayedProgress, delayedProgress); player.blueprints.AddRange(blueprints); player.availBlueprints.AddRange(availBlueprints); AddRange(player.blueprintLocks, blueprintLocks); AddRange(player.gadgets, gadgets); AddRange(player.craftMatCounts, craftMatCounts); }
public static HashSet <SRMod> FindAllModsWithData(PlayerV13 player) { var mods = new HashSet <SRMod>(); player.upgrades.ForEach((x) => mods.Add(SaveRegistry.ModForID(x))); player.availUpgrades.ForEach((x) => mods.Add(SaveRegistry.ModForID(x))); foreach (var x in player.upgradeLocks) { mods.Add(SaveRegistry.ModForID(x)); } foreach (var x in player.progress) { mods.Add(SaveRegistry.ModForID(x.Key)); } foreach (var x in player.delayedProgress) { mods.Add(SaveRegistry.ModForID(x.Key)); } player.blueprints.ForEach((x) => mods.Add(SaveRegistry.ModForID(x))); player.availBlueprints.ForEach((x) => mods.Add(SaveRegistry.ModForID(x))); foreach (var x in player.blueprintLocks) { mods.Add(SaveRegistry.ModForID(x.Key)); } foreach (var x in player.gadgets) { mods.Add(SaveRegistry.ModForID(x.Key)); } foreach (var x in player.craftMatCounts) { mods.Add(SaveRegistry.ModForID(x.Key)); } mods.Remove(null); return(mods); }