示例#1
0
        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));
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }