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); } }
/// <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); }
/// <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(); } }
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); } }