private static void AddIfMissing(ref List <ClothingPart> allParts, List <ClothingPart> initial, ClothingPartEnum missingParts)
 {
     if (allParts.FirstOrDefault((ClothingPart x) => x.Id == missingParts) == null)
     {
         ClothingPart item = initial.FirstOrDefault((ClothingPart x) => x.Id == missingParts);
         allParts.Add(item);
     }
 }
        internal static AvatarOptions FromString(string base64String)
        {
            if (string.IsNullOrEmpty(base64String))
            {
                Log.Error("AvatarOptions.FromString with empty value!");
                return(new AvatarOptions
                {
                    ClothingParts = AvatarOptions.InitialParts()
                });
            }
            string[]      parts         = Conv.StringPartsFromBase64(base64String, "AvatarOptions");
            AvatarOptions avatarOptions = new AvatarOptions();

            avatarOptions.GenderChosen = Conv.getStringFromParts(parts, "a").ToLower().Equals("true");
            avatarOptions.IsFemale     = Conv.getStringFromParts(parts, "b").ToLower().Equals("true");
            string stringFromParts = Conv.getStringFromParts(parts, "c");

            string[] array = stringFromParts.Split(new char[]
            {
                '&'
            });
            List <ClothingPart> list = new List <ClothingPart>();

            string[] array2 = array;
            for (int i = 0; i < array2.Length; i++)
            {
                string text = array2[i];
                if (!string.IsNullOrEmpty(text))
                {
                    list.Add(ClothingPart.FromString(text));
                }
            }
            avatarOptions.ClothingPartsOld  = list;
            avatarOptions.HasLongHair       = Conv.getStringFromParts(parts, "d").ToLower().Equals("true");
            avatarOptions.HasBoughtLongHair = Conv.getStringFromParts(parts, "e").ToLower().Equals("true");
            stringFromParts = Conv.getStringFromParts(parts, "f");
            array           = stringFromParts.Split(new char[]
            {
                '&'
            });
            List <ClothingPart> list2 = new List <ClothingPart>();

            string[] array3 = array;
            for (int j = 0; j < array3.Length; j++)
            {
                string text2 = array3[j];
                if (!string.IsNullOrEmpty(text2))
                {
                    list2.Add(ClothingPart.FromString(text2));
                }
            }
            avatarOptions.ClothingParts = list2;
            AvatarOptions.CheckIfAllAdded(ref avatarOptions.ClothingParts);
            avatarOptions.HasBoughtHair3 = Conv.getStringFromParts(parts, "g").ToLower().Equals("true");
            avatarOptions.HairStyle      = Conv.getIntFromParts(parts, "h");
            return(avatarOptions);
        }
Example #3
0
        internal static ClothingPart FromString(string base64String)
        {
            if (string.IsNullOrEmpty(base64String))
            {
                Log.Error("ClothingPart.FromString with empty value!");
                return(null);
            }
            string[]     parts        = Conv.StringPartsFromBase64(base64String, "ClothingPart");
            ClothingPart clothingPart = new ClothingPart();

            clothingPart.Id = (ClothingPartEnum)Conv.getIntFromParts(parts, "a");
            clothingPart.PermanentGPCost       = Conv.getDoubleFromParts(parts, "b");
            clothingPart.CreationTierNeeded    = Conv.getIntFromParts(parts, "c");
            clothingPart.GodDefeatedTierNeeded = Conv.getIntFromParts(parts, "d");
            clothingPart.IsPermanentUnlocked   = Conv.getStringFromParts(parts, "e").ToLower().Equals("true");
            clothingPart.IsPlayerSet           = Conv.getStringFromParts(parts, "f").ToLower().Equals("true");
            if (clothingPart.Id == ClothingPartEnum.arty_reward)
            {
                clothingPart.PermanentGPCost = 999999;
            }
            return(clothingPart);
        }