Exemplo n.º 1
0
        public void SpecialHelper(ICLIFlags toolFlags)
        {
            ExtractDebugNewEntities.VersionInfo versionInfo = ExtractDebugNewEntities.GetGUIDVersionInfo(@"D:\ow\resources\verdata\49154.guids");

            const Enum_BABC4175 lootboxType = Enum_BABC4175.SummerGames;

            HashSet <ulong> addedUnlocks = new HashSet <ulong>();

            foreach (var progressionGuid in TrackedFiles[0x58])
            {
                STUProgressionUnlocks progressionUnlocks = GetInstance <STUProgressionUnlocks>(progressionGuid);

                if (progressionUnlocks?.m_lootBoxesUnlocks == null)
                {
                    continue;
                }
                foreach (STULootBoxUnlocks lootBoxUnlocks in progressionUnlocks.m_lootBoxesUnlocks)
                {
                    ProcessLootBoxUnlocks(lootBoxUnlocks, versionInfo, lootboxType, addedUnlocks);
                }
            }

            foreach (ulong genericSettingsGuid in TrackedFiles[0x54])
            {
                STUGenericSettings_PlayerProgression playerProgression =
                    GetInstance <STUGenericSettings_PlayerProgression>(genericSettingsGuid);
                if (playerProgression == null)
                {
                    continue;
                }

                foreach (STULootBoxUnlocks lootBoxUnlocks in playerProgression.m_lootBoxesUnlocks)
                {
                    ProcessLootBoxUnlocks(lootBoxUnlocks, versionInfo, lootboxType, addedUnlocks);
                }

                break;
            }

            Console.Out.WriteLine("public static readonly ulong[] SummerGames2018 = new ulong[] {");
            foreach (ulong addedUnlock in addedUnlocks)
            {
                Console.Out.WriteLine($"    0x{addedUnlock:X8},");
            }
            Console.Out.WriteLine("};");
        }
Exemplo n.º 2
0
        public static void ProcessLootBoxUnlocks(STULootBoxUnlocks lootBoxUnlocks, ExtractDebugNewEntities.VersionInfo versionInfo, Enum_BABC4175 lootboxType, HashSet <ulong> addedUnlocks)
        {
            if (lootBoxUnlocks?.m_unlocks?.m_unlocks == null)
            {
                return;
            }
            if (lootBoxUnlocks.m_lootboxType != lootboxType)
            {
                return;
            }
            foreach (teStructuredDataAssetRef <STUUnlock> unlock in lootBoxUnlocks.m_unlocks.m_unlocks)
            {
                //Unlock unlockModel = new Unlock(unlock);
                //if (unlockModel.Type != "Skin") continue;

                if (!versionInfo.GUIDs.Contains(unlock))
                {
                    addedUnlocks.Add(unlock);
                }
            }
        }