diff --git a/core/src/cz/nic/tablexia/game/games/runes/actors/RunesHolder.java b/core/src/cz/nic/tablexia/game/games/runes/actors/RunesHolder.java index 0333666f5510eda1b69b7e9a581262a6eed8e789..c1e81fc1113eb25c28bfffa72cf6039f263942f4 100644 --- a/core/src/cz/nic/tablexia/game/games/runes/actors/RunesHolder.java +++ b/core/src/cz/nic/tablexia/game/games/runes/actors/RunesHolder.java @@ -14,7 +14,6 @@ import cz.nic.tablexia.TablexiaSettings; import cz.nic.tablexia.game.common.TablexiaRandom; import cz.nic.tablexia.game.common.media.GfxLibrary; import cz.nic.tablexia.game.difficulty.GameDifficulty; -import cz.nic.tablexia.game.games.runes.assets.RuneDefinition; import cz.nic.tablexia.game.games.runes.helper.PositionDefinition; import cz.nic.tablexia.game.games.runes.helper.RuneDescription; import cz.nic.tablexia.game.games.runes.model.RunesDifficultyDefinition; @@ -80,10 +79,6 @@ public class RunesHolder extends Group { return false; } - public int getRunesCount() { - return runesCount; - } - public int getWrongRunesCount() { return runesCount - holderTargets.size(); } @@ -135,10 +130,6 @@ public class RunesHolder extends Group { setWidth(getWidth() + actor.getWidth() + runesGroup.getSpace()); } - public void setHolderTargets(List<RuneDescription> runeDescriptions) { - holderTargets = runeDescriptions; - } - /** * Set scale value depending on position (folded holder can be smaller/bigger depending on PositionDefinition values) * @@ -204,7 +195,7 @@ public class RunesHolder extends Group { prevX = 0; setAlternativeScale(positionDefinition.getScale()); setPosition(positionDefinition.getX() * width, positionDefinition.getY() * height); - maxEntities = positionDefinition.getMaxRunes(); + maxEntities = PositionDefinition.getMaxChildrenCount(gameDifficulty,positionDefinition); } public boolean isFolded() { diff --git a/core/src/cz/nic/tablexia/game/games/runes/helper/PositionDefinition.java b/core/src/cz/nic/tablexia/game/games/runes/helper/PositionDefinition.java index c23806bde6b8efc631a0930b49fac02b37f935f6..f9ab1393e0190bc7d87850e7103285e340d20f91 100644 --- a/core/src/cz/nic/tablexia/game/games/runes/helper/PositionDefinition.java +++ b/core/src/cz/nic/tablexia/game/games/runes/helper/PositionDefinition.java @@ -14,43 +14,35 @@ import cz.nic.tablexia.game.games.runes.model.RunesGameProperties; */ public enum PositionDefinition { - //x,y, max height, max runes - - POS1(0.22f,0.14f), - POS2(0.22f,0.51f), - POS3(0.22f,0.87f), - POS4(0.58f,0.71f,3), - POS5(0.58f,0.37f,3), - POS6(0.58f,0.01f,3), - POS7(0.04f,0.57f,2), - POS8(0.02f,0.19f,2); + //x,y, max runes, max runes clusters + + POS1(0.22f, 0.14f, 5, 4), + POS2(0.22f, 0.51f, 5, 4), + POS3(0.22f, 0.87f, 5, 4), + POS4(0.58f, 0.71f, 3, 2), + POS5(0.58f, 0.37f, 3, 2), + POS6(0.58f, 0.01f, 3, 2), + POS7(0.04f, 0.57f, 3, 2), + POS8(0.04f, 0.19f, 3, 2); private static final float FOLDED_SCALE = 0.6f; - private static final int MAX_RUNES = 4; public static final PositionDefinition[] MAP_EASY = PositionDefinition.values(); public static final PositionDefinition[] MAP_MEDIUM = PositionDefinition.values(); //was meant to be different for every difficulty public static final PositionDefinition[] MAP_HARD = PositionDefinition.values(); private float x, y, scale; - private int maxRunes; - - PositionDefinition(float x, float y) { - this(x,y,FOLDED_SCALE,MAX_RUNES); - } - - PositionDefinition(float x, float y, float scale) { - this(x,y,scale,MAX_RUNES); - } + private int maxRunes, maxRunesClusters; - PositionDefinition(float x, float y, int maxRunes) { - this(x,y,FOLDED_SCALE,maxRunes); + PositionDefinition(float x, float y, int maxRunes, int maxRunesClusters) { + this(x, y, FOLDED_SCALE, maxRunes, maxRunesClusters); } - PositionDefinition(float x, float y, float scale, int maxRunes) { + PositionDefinition(float x, float y, float scale, int maxRunes, int maxRunesClusters) { this.x = x; this.y = y; this.maxRunes = maxRunes; + this.maxRunesClusters = maxRunesClusters; this.scale = scale; } @@ -71,6 +63,10 @@ public enum PositionDefinition { return y; } + public int getMaxRunesClusters() { + return maxRunesClusters; + } + private static List<PositionDefinition> getMapPositions(GameDifficulty runesDifficulty) { return Arrays.asList(RunesDifficultyDefinition.getRunesDifficultyForGameDifficulty(runesDifficulty).getPositionDefinitions()); } @@ -88,4 +84,9 @@ public enum PositionDefinition { return RunesDifficultyDefinition.getRunesDifficultyForGameDifficulty(gameDifficulty).getGroupsCount()[round]; } + public static int getMaxChildrenCount(GameDifficulty gameDifficulty, PositionDefinition positionDefinition){ + if (gameDifficulty.equals(GameDifficulty.HARD)) return positionDefinition.getMaxRunesClusters(); + else return positionDefinition.getMaxRunes(); + } + }