public void SendFavoriteAppearances() { AccountTransmogUpdate accountTransmogUpdate = new AccountTransmogUpdate(); accountTransmogUpdate.IsFullUpdate = true; foreach (var pair in _favoriteAppearances) { if (pair.Value != FavoriteAppearanceState.Removed) { accountTransmogUpdate.FavoriteAppearances.Add(pair.Key); } } _owner.SendPacket(accountTransmogUpdate); }
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; AccountTransmogUpdate accountTransmogUpdate = new AccountTransmogUpdate(); accountTransmogUpdate.IsFullUpdate = false; accountTransmogUpdate.IsSetFavorite = apply; accountTransmogUpdate.FavoriteAppearances.Add(itemModifiedAppearanceId); _owner.SendPacket(accountTransmogUpdate); }