示例#1
0
        private void UnlockCustomizations(object sender, System.Windows.RoutedEventArgs e)
        {
            List <string> customizationAssetPaths        = DataPathTranslations.GetCustomizationAssetPaths();
            List <OakCustomizationSaveGameData> saveData = loadedProfile.UnlockedCustomizations;
            List <OakCustomizationSaveGameData> output   = new List <OakCustomizationSaveGameData>();

            foreach (string assetPath in customizationAssetPaths)
            {
                string lowerAsset = assetPath.ToLower();

                if (lowerAsset.Contains("default") || (lowerAsset.Contains("emote") && (lowerAsset.Contains("wave") || lowerAsset.Contains("cheer") || lowerAsset.Contains("laugh") || lowerAsset.Contains("point"))))
                {
                    continue;
                }

                //if (!lowerAsset.Contains("beastmaster")) continue;

                bool bAlreadyOwnsCustomization = false;
                foreach (OakCustomizationSaveGameData customizatonData in saveData)
                {
                    if (customizatonData.CustomizationAssetPath.Equals(assetPath))
                    {
                        bAlreadyOwnsCustomization = true;
                        break;
                    }
                }
                if (!bAlreadyOwnsCustomization)
                {
                    OakCustomizationSaveGameData d = new OakCustomizationSaveGameData
                    {
                        CustomizationAssetPath = assetPath,
                        IsNew = true
                    };
                    output.Add(d);
                    Console.WriteLine("Doesn't own customization: {0}", assetPath);
                }
            }
            saveData.AddRange(output);
        }
示例#2
0
        private void UnlockCustomizations(object sender, System.Windows.RoutedEventArgs e)
        {
            List <string> customizationAssetPaths        = DataPathTranslations.GetCustomizationAssetPaths();
            List <OakCustomizationSaveGameData> saveData = loadedProfile.UnlockedCustomizations;
            List <OakCustomizationSaveGameData> output   = new List <OakCustomizationSaveGameData>();

            foreach (string assetPath in customizationAssetPaths)
            {
                string lowerAsset = assetPath.ToLower();

                if (lowerAsset.Contains("default") || (lowerAsset.Contains("emote") && (lowerAsset.Contains("wave") || lowerAsset.Contains("cheer") || lowerAsset.Contains("laugh") || lowerAsset.Contains("point"))))
                {
                    continue;
                }

                bool bAlreadyOwnsCustomization = false;
                foreach (OakCustomizationSaveGameData customizatonData in saveData)
                {
                    if (customizatonData.CustomizationAssetPath.Equals(assetPath))
                    {
                        bAlreadyOwnsCustomization = true;
                        break;
                    }
                }
                if (!bAlreadyOwnsCustomization)
                {
                    OakCustomizationSaveGameData d = new OakCustomizationSaveGameData
                    {
                        CustomizationAssetPath = assetPath,
                        IsNew = true
                    };
                    output.Add(d);
                    Console.WriteLine("Doesn't own customization: {0}", assetPath);
                }
            }
            saveData.AddRange(output);

            // The weapon trinkets / skins use a different format so we'll want to add this
            List <OakInventoryCustomizationPartInfo> weaponOut = new List <OakInventoryCustomizationPartInfo>();

            foreach (uint assetHash in DataPathTranslations.GetWeaponCustomizationPaths())
            {
                bool bOwnsHash = false;
                foreach (OakInventoryCustomizationPartInfo partInfo in loadedProfile.UnlockedInventoryCustomizationParts)
                {
                    if (partInfo.CustomizationPartHash.Equals(assetHash))
                    {
                        bOwnsHash = true;
                        break;
                    }
                }
                if (!bOwnsHash)
                {
                    OakInventoryCustomizationPartInfo customizationInfo = new OakInventoryCustomizationPartInfo
                    {
                        CustomizationPartHash = assetHash,
                        IsNew = true
                    };
                    weaponOut.Add(customizationInfo);
                }
            }
            loadedProfile.UnlockedInventoryCustomizationParts.AddRange(weaponOut);
        }