Exemple #1
0
        private static int GetCorrespondingIconIndex(AvatarCategory avatarCategory, Gender gender)
        {
            switch (avatarCategory)
            {
            case AvatarCategory.Body:
                return((gender == Gender.Male) ? 0 : 1);

            case AvatarCategory.Hat:
                return((gender == Gender.Male) ? 2 : 3);

            case AvatarCategory.Goggles:
                return((gender == Gender.Male) ? 4 : 5);

            case AvatarCategory.Flag:
                return(6);

            case AvatarCategory.ExItem:
                return(29);

            case AvatarCategory.Extra:
                return(32);

            case AvatarCategory.Misc:
                return(33);

            case AvatarCategory.Pet:
                return(34);

            default:
                return(7);
            }
        }
Exemple #2
0
        /// <summary>
        /// Action being called on each avatar shop filter.
        /// This action changes the filtering options and refresh the
        /// AvatarButtonList.
        /// </summary>
        public void FilterButtonAction(object sender, AvatarCategory category)
        {
            filterButtonList.ForEach((x) =>
            {
                if (x != sender)
                {
                    x.Enable();
                }
            });

            ((AnimatedButton)sender).ChangeButtonState(ButtonAnimationState.Activated);

            UpdateFilter(category, 0);
        }
Exemple #3
0
        /// <summary>
        /// This method updates <see cref="searchFilter"/> and refreshes the
        /// AvatarButtonList.
        /// </summary>
        public void UpdateFilter(AvatarCategory category, int currentPage)
        {
            searchFilter.AvatarCategory = category;
            searchFilter.CurrentPage    = currentPage;

            IEnumerable <AvatarMetadata> metadataList = MetadataManager.AvatarMetadataDictionary[player.Gender][searchFilter.AvatarCategory].Values;

            //Text filter
            metadataList = metadataList.Where((x) => x.Name.ToLower().Contains(searchFilter.AvatarName.ToLower()));

            if (searchFilter.IsRenderingInventory)
            {
                metadataList = metadataList.Where((x) => player.OwnedAvatar[category].Contains(x.ID));
            }

            searchFilter.LastPage = Math.Max((int)Math.Ceiling(metadataList.Count() / 25f), 1);

            metadataList = metadataList.Skip(searchFilter.CurrentPage * 25).Take(searchFilter.CurrentPage * 25 + 25).ToList();

            AddAvatarButtonList(metadataList.ToList());

            filterCurrentPage.Text = (searchFilter.CurrentPage + 1).ToString();
            filterLastPage.Text    = searchFilter.LastPage.ToString();

            //Update filter buttons
            if (currentPage == 0)
            {
                filterLeftButton.Disable(true);
            }
            else if (filterLeftButton.IsDisabled)
            {
                filterLeftButton.Enable();
            }

            if (currentPage + 1 == searchFilter.LastPage)
            {
                filterRightButton.Disable(true);
            }
            else if (filterRightButton.IsDisabled)
            {
                filterRightButton.Enable();
            }
        }
Exemple #4
0
        public int GetEquippedAvatarID(AvatarCategory avatarCategory)
        {
            switch (avatarCategory)
            {
            case AvatarCategory.Hat:      return(Head.Metadata.ID);

            case AvatarCategory.Body:     return(Body.Metadata.ID);

            case AvatarCategory.Goggles:  return(Goggles.Metadata.ID);

            case AvatarCategory.Flag:     return(Flag.Metadata.ID);

            //case AvatarCategory.ExItem: return EquippedAvatarExItem;
            case AvatarCategory.Pet:      return(Pet.Metadata.ID);

            case AvatarCategory.Misc:     return(Misc.Metadata.ID);

            default: return(Extra.Metadata.ID);
            }
        }