From 4701f7830a2c55b4117fb00f24f7b6ba007dda4c Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Sun, 4 Sep 2011 02:58:04 +0000 Subject: [PATCH] Working on deck building. --- .../lotro/game/LotroCardBlueprintLibrary.java | 4 ++-- .../lotro/game/DefaultCardCollection.java | 14 +++++++++++- .../src/main/webapp/js/deckBuildingUi.js | 22 ++++++++++++++++++- 3 files changed, 36 insertions(+), 4 deletions(-) diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/LotroCardBlueprintLibrary.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/LotroCardBlueprintLibrary.java index 2ab1f278f..03ddff5e7 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/LotroCardBlueprintLibrary.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/LotroCardBlueprintLibrary.java @@ -1,15 +1,15 @@ package com.gempukku.lotro.game; import java.util.Collection; +import java.util.HashMap; import java.util.Map; -import java.util.TreeMap; public class LotroCardBlueprintLibrary { private String[] _packageNames = new String[]{ "", ".dwarven", ".elven", ".isengard", ".moria", ".shire", ".site" }; - private Map _blueprintMap = new TreeMap(); + private Map _blueprintMap = new HashMap(); public LotroCardBlueprint getLotroCardBlueprint(String blueprintId) { if (_blueprintMap.containsKey(blueprintId)) diff --git a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/DefaultCardCollection.java b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/DefaultCardCollection.java index 4fa59287b..a0a7b1f85 100644 --- a/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/DefaultCardCollection.java +++ b/gemp-lotr/gemp-lotr-server/src/main/java/com/gempukku/lotro/game/DefaultCardCollection.java @@ -7,7 +7,7 @@ import java.util.*; public class DefaultCardCollection implements CardCollection { private Map _cardsCount = new TreeMap(); - private Map _cards = new TreeMap(); + private Map _cards = new TreeMap(new CardBlueprintIdComparator()); public void addCards(String blueprintId, LotroCardBlueprint blueprint, int count) { _cardsCount.put(blueprintId, count); @@ -65,4 +65,16 @@ public class DefaultCardCollection implements CardCollection { } return defaultResult; } + + private static class CardBlueprintIdComparator implements Comparator { + @Override + public int compare(String o1, String o2) { + String[] o1Parts = o1.split("_"); + String[] o2Parts = o2.split("_"); + if (o1Parts[0].equals(o2Parts[0])) + return Integer.parseInt(o1Parts[1]) - Integer.parseInt(o2Parts[1]); + else + return Integer.parseInt(o1Parts[0]) - Integer.parseInt(o2Parts[0]); + } + } } diff --git a/gemp-lotr/gemp-lotr-web/src/main/webapp/js/deckBuildingUi.js b/gemp-lotr/gemp-lotr-web/src/main/webapp/js/deckBuildingUi.js index b730ebf0f..713bb3e18 100644 --- a/gemp-lotr/gemp-lotr-web/src/main/webapp/js/deckBuildingUi.js +++ b/gemp-lotr/gemp-lotr-web/src/main/webapp/js/deckBuildingUi.js @@ -1,12 +1,17 @@ var GempLotrDeckBuildingUI = Class.extend({ deckDiv: null, collectionDiv: null, + collectionGroup: null, loadCollectionFunc: null, init: function() { this.deckDiv = $("
"); this.collectionDiv = $("
"); + this.collectionGroup = new NormalCardGroup(null, function(card) { + return (card.zone == "collection"); + }); + $("#main").append(this.deckDiv); $("#main").append(this.collectionDiv); }, @@ -20,7 +25,21 @@ var GempLotrDeckBuildingUI = Class.extend({ }, displayCollection: function(xml) { - alert(xml.text); + var root = xml.documentElement; + if (root.tagName == "collection") { + var cards = root.getElementsByTagName("card"); + for (var i = 0; i < cards.length; i++) { + var cardElem = cards[i]; + var blueprintId = cardElem.getAttribute("blueprintId"); + var count = cardElem.getAttribute("count"); + var card = new Card(blueprintId, "collection", "collection" + i, "player"); + var cardDiv = createCardDiv(card.imageUrl, null); + cardDiv.data("card", card); + this.collectionDiv.append(cardDiv); + } + + this.collectionGroup.layoutCards(); + } }, layoutUI: function() { @@ -31,6 +50,7 @@ var GempLotrDeckBuildingUI = Class.extend({ this.deckDiv.css({left:0 + "px", top:0 + "px", width: width, height: deckHeight, position: "absolute"}); this.collectionDiv.css({left:0 + "px", top:deckHeight + "px", width: width, height: height - deckHeight, position: "absolute"}); + this.collectionGroup.setBounds(0, 0, width, height - deckHeight); }, processError: function (xhr, ajaxOptions, thrownError) {