Introducing Trophy collection.

This commit is contained in:
marcins78
2013-12-04 17:40:15 +00:00
parent 88f4ea9c70
commit dec77457c2
10 changed files with 22 additions and 13 deletions

View File

@@ -263,8 +263,10 @@ public class AdminRequestHandler extends LotroServerRequestHandler implements Ur
}
private CollectionType createCollectionType(String collectionType) {
if (collectionType.equals("permanent"))
if (collectionType.equals(CollectionType.MY_CARDS.getCode()))
return CollectionType.MY_CARDS;
if (collectionType.equals(CollectionType.TROPHY.getCode()))
return CollectionType.TROPHY;
return _leagueService.getCollectionTypeByCode(collectionType);
}

View File

@@ -201,8 +201,10 @@ public class CollectionRequestHandler extends LotroServerRequestHandler implemen
}
private CollectionType createCollectionType(String collectionType) {
if (collectionType.equals("permanent"))
if (collectionType.equals(CollectionType.MY_CARDS.getCode()))
return CollectionType.MY_CARDS;
if (collectionType.equals(CollectionType.TROPHY.getCode()))
return CollectionType.TROPHY;
return _leagueService.getCollectionTypeByCode(collectionType);
}

View File

@@ -5,6 +5,7 @@ import com.gempukku.lotro.SubscriptionExpiredException;
import com.gempukku.lotro.async.HttpProcessingException;
import com.gempukku.lotro.async.ResponseWriter;
import com.gempukku.lotro.collection.CollectionsManager;
import com.gempukku.lotro.db.vo.CollectionType;
import com.gempukku.lotro.db.vo.League;
import com.gempukku.lotro.draft.Draft;
import com.gempukku.lotro.draft.DraftChannelVisitor;
@@ -403,7 +404,7 @@ public class HallRequestHandler extends LotroServerRequestHandler implements Uri
Document doc = documentBuilder.newDocument();
Element hall = doc.createElement("hall");
hall.setAttribute("currency", String.valueOf(_collectionManager.getPlayerCollection(resourceOwner, "permanent").getCurrency()));
hall.setAttribute("currency", String.valueOf(_collectionManager.getPlayerCollection(resourceOwner, CollectionType.MY_CARDS.getCode()).getCurrency()));
_hallServer.signupUserForHall(resourceOwner, new SerializeHallInfoVisitor(doc, hall));
for (Map.Entry<String, LotroFormat> format : _formatLibrary.getHallFormats().entrySet()) {
@@ -481,7 +482,7 @@ public class HallRequestHandler extends LotroServerRequestHandler implements Uri
Element hall = doc.createElement("hall");
_hallCommunicationChannel.processCommunicationChannel(_hallServer, _resourceOwner, new SerializeHallInfoVisitor(doc, hall));
hall.setAttribute("currency", String.valueOf(_collectionManager.getPlayerCollection(_resourceOwner, "permanent").getCurrency()));
hall.setAttribute("currency", String.valueOf(_collectionManager.getPlayerCollection(_resourceOwner, CollectionType.MY_CARDS.getCode()).getCurrency()));
doc.appendChild(hall);

View File

@@ -11,7 +11,6 @@ import com.gempukku.lotro.db.vo.CollectionType;
import com.gempukku.lotro.game.Player;
import org.jboss.netty.channel.MessageEvent;
import org.jboss.netty.handler.codec.http.CookieEncoder;
import static org.jboss.netty.handler.codec.http.HttpHeaders.Names.SET_COOKIE;
import org.jboss.netty.handler.codec.http.HttpRequest;
import org.jboss.netty.handler.codec.http.QueryStringDecoder;
import org.jboss.netty.handler.codec.http.multipart.Attribute;
@@ -27,6 +26,8 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import static org.jboss.netty.handler.codec.http.HttpHeaders.Names.SET_COOKIE;
public class LotroServerRequestHandler {
protected PlayerDAO _playerDao;
protected LoggedUserHolder _loggedUserHolder;
@@ -54,11 +55,11 @@ public class LotroServerRequestHandler {
Integer lastReward = player.getLastLoginReward();
if (lastReward == null) {
_playerDao.setLastReward(player, latestMonday);
_collectionManager.addCurrencyToPlayerCollection(true, "Singup reward", player, new CollectionType("permanent", "My cards"), 20000);
_collectionManager.addCurrencyToPlayerCollection(true, "Singup reward", player, CollectionType.MY_CARDS, 20000);
} else {
if (latestMonday != lastReward) {
if (_playerDao.updateLastReward(player, lastReward, latestMonday))
_collectionManager.addCurrencyToPlayerCollection(true, "Weekly reward", player, new CollectionType("permanent", "My cards"), 5000);
_collectionManager.addCurrencyToPlayerCollection(true, "Weekly reward", player, CollectionType.MY_CARDS, 5000);
}
}
}

View File

@@ -4,6 +4,7 @@ import com.gempukku.lotro.async.ResponseWriter;
import com.gempukku.lotro.cards.CardSets;
import com.gempukku.lotro.cards.packs.SetDefinition;
import com.gempukku.lotro.collection.CollectionsManager;
import com.gempukku.lotro.db.vo.CollectionType;
import com.gempukku.lotro.game.*;
import com.gempukku.lotro.game.formats.LotroFormatLibrary;
import com.gempukku.lotro.merchant.MerchantException;
@@ -112,7 +113,7 @@ public class MerchantRequestHandler extends LotroServerRequestHandler implements
Player resourceOwner = getResourceOwnerSafely(request, participantId);
CardCollection collection = _collectionsManager.getPlayerCollection(resourceOwner, "permanent");
CardCollection collection = _collectionsManager.getPlayerCollection(resourceOwner, CollectionType.MY_CARDS.getCode());
Set<CardItem> cardItems = new HashSet<CardItem>();
if (ownedMin <= 0) {
@@ -143,7 +144,7 @@ public class MerchantRequestHandler extends LotroServerRequestHandler implements
Document doc = documentBuilder.newDocument();
Element merchantElem = doc.createElement("merchant");
merchantElem.setAttribute("currency", String.valueOf(_collectionsManager.getPlayerCollection(resourceOwner, "permanent").getCurrency()));
merchantElem.setAttribute("currency", String.valueOf(_collectionsManager.getPlayerCollection(resourceOwner, CollectionType.MY_CARDS.getCode()).getCurrency()));
merchantElem.setAttribute("count", String.valueOf(filteredResult.size()));
doc.appendChild(merchantElem);

View File

@@ -79,6 +79,7 @@ var GempLotrDeckBuildingUI = Class.extend({
collectionSelect.css({"float":"right", width:"180px"});
collectionSelect.append("<option value='default'>All cards</option>");
collectionSelect.append("<option value='permanent'>My cards</option>");
collectionSelect.append("<option value='trophy'>Trophies</option>");
this.manageDecksDiv.append(collectionSelect);
var newDeckBut = $("<button title='New deck'><span class='ui-icon ui-icon-document'></span></button>").button();

View File

@@ -86,7 +86,7 @@ public class CollectionsManager {
final CardCollection collection = _collectionDAO.getPlayerCollection(player.getId(), collectionType);
if (collection == null && collectionType.equals("permanent"))
if (collection == null && (collectionType.equals(CollectionType.MY_CARDS.getCode()) || collectionType.equals(CollectionType.TROPHY.getCode())))
return new DefaultCardCollection();
return collection;

View File

@@ -2,6 +2,7 @@ package com.gempukku.lotro.db.vo;
public final class CollectionType {
public final static CollectionType MY_CARDS = new CollectionType("permanent", "My cards");
public final static CollectionType TROPHY = new CollectionType("trophy", "Trophies");
public final static CollectionType ALL_CARDS = new CollectionType("default", "All cards");
private final String _code;

View File

@@ -535,7 +535,7 @@ public class HallServer extends AbstractServer {
// Now check if player owns all the cards
if (collectionType.getCode().equals("default")) {
CardCollection ownedCollection = _collectionsManager.getPlayerCollection(player, "permanent");
CardCollection ownedCollection = _collectionsManager.getPlayerCollection(player, "permanent+trophy");
LotroDeck filteredSpecialCardsDeck = new LotroDeck(lotroDeck.getDeckName());
filteredSpecialCardsDeck.setRing(filterCard(lotroDeck.getRing(), ownedCollection));
@@ -587,7 +587,7 @@ public class HallServer extends AbstractServer {
}
private String filterCard(String blueprintId, CardCollection ownedCollection) {
if (ownedCollection == null || ownedCollection.getItemCount(blueprintId) == 0)
if (ownedCollection.getItemCount(blueprintId) == 0)
return _library.getBaseBlueprintId(blueprintId);
return blueprintId;
}

View File

@@ -26,7 +26,7 @@ public class NewConstructedLeagueData implements LeagueData {
int start = Integer.parseInt(params[0]);
if (params[1].equals("default"))
_collectionType = CollectionType.ALL_CARDS;
else if (params[1].equals("permanent"))
else if (params[1].equals(CollectionType.MY_CARDS.getCode()))
_collectionType = CollectionType.MY_CARDS;
else
throw new IllegalArgumentException("Unkown collection type");