public void SendFavoriteAppearances() { TransmogCollectionUpdate transmogCollectionUpdate = new TransmogCollectionUpdate(); transmogCollectionUpdate.IsFullUpdate = true; foreach (var pair in _favoriteAppearances) { if (pair.Value != FavoriteAppearanceState.Removed) { transmogCollectionUpdate.FavoriteAppearances.Add(pair.Key); } } _owner.SendPacket(transmogCollectionUpdate); }
public void SetAppearanceIsFavorite(uint itemModifiedAppearanceId, bool apply) { var apperanceState = _favoriteAppearances.LookupByKey(itemModifiedAppearanceId); if (apply) { if (!_favoriteAppearances.ContainsKey(itemModifiedAppearanceId)) { _favoriteAppearances[itemModifiedAppearanceId] = FavoriteAppearanceState.New; } else if (apperanceState == FavoriteAppearanceState.Removed) { apperanceState = FavoriteAppearanceState.Unchanged; } else { return; } } else if (_favoriteAppearances.ContainsKey(itemModifiedAppearanceId)) { if (apperanceState == FavoriteAppearanceState.New) { _favoriteAppearances.Remove(itemModifiedAppearanceId); } else { apperanceState = FavoriteAppearanceState.Removed; } } else { return; } _favoriteAppearances[itemModifiedAppearanceId] = apperanceState; TransmogCollectionUpdate transmogCollectionUpdate = new TransmogCollectionUpdate(); transmogCollectionUpdate.IsFullUpdate = false; transmogCollectionUpdate.IsSetFavorite = apply; transmogCollectionUpdate.FavoriteAppearances.Add(itemModifiedAppearanceId); _owner.SendPacket(transmogCollectionUpdate); }