diff --git a/core/assets/sprites/selected.png b/core/assets/sprites/selected.png index 633c185..635ae9f 100644 Binary files a/core/assets/sprites/selected.png and b/core/assets/sprites/selected.png differ diff --git a/core/assets/sprites/sword.png b/core/assets/sprites/sword.png index 7334289..c4d865a 100644 Binary files a/core/assets/sprites/sword.png and b/core/assets/sprites/sword.png differ diff --git a/core/assets/tilesets/tileset_floor_2.png b/core/assets/tilesets/tileset_floor_2.png index d059546..2b91a62 100644 Binary files a/core/assets/tilesets/tileset_floor_2.png and b/core/assets/tilesets/tileset_floor_2.png differ diff --git a/core/src/com/dungeoncrawler/control/Controller.java b/core/src/com/dungeoncrawler/control/Controller.java index ec0ad84..859e605 100644 --- a/core/src/com/dungeoncrawler/control/Controller.java +++ b/core/src/com/dungeoncrawler/control/Controller.java @@ -352,51 +352,12 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ } } - - if(keycode == Input.Keys.G){ - if(v != null){} - if(m != null && m.getIsLoading() == false){ - Item k = new Potion(1); - //m.addItem(k); - //d.setCurrentItemContainer(m.playerPickUp(d.getCurrentItemContainer(), d.getPlayer())); - } - } - if(keycode == Input.Keys.H){ + if(keycode == Input.Keys.R){ if(v != null){} if(m != null && m.getIsLoading() == false){ - Item k = new Key(1); - //m.addItem(k); - //d.setCurrentItemContainer(m.playerPickUp(d.getCurrentItemContainer(), d.getPlayer())); + d.getPlayer().getInv().equipItem(); } } - /* - if(keycode == Input.Keys.NUM_1){ - m.moveItem(0); - } - if(keycode == Input.Keys.NUM_2){ - m.moveItem(1); - } - if(keycode == Input.Keys.NUM_3){ - m.moveItem(2); - } - if(keycode == Input.Keys.NUM_4){ - m.moveItem(3); - } - if(keycode == Input.Keys.NUM_5){ - m.moveItem(4); - } - if(keycode == Input.Keys.NUM_6){ - m.moveItem(5); - } - if(keycode == Input.Keys.NUM_7){ - m.moveItem(6); - } - if(keycode == Input.Keys.NUM_8){ - m.moveItem(7); - } - */ - - if(keycode == Input.Keys.UP){ volume += 0.1f; @@ -519,7 +480,16 @@ public class Controller extends ApplicationAdapter implements InputProcessor{ @Override public boolean scrolled(int i) { - return false; + if(m != null){ + if(i == -1 && d.getPlayer().getInv().getSelected() == 0){return true;} + else if(i == 1 && d.getPlayer().getInv().getSelected() == 7){return true;} + else{ + d.getPlayer().getInv().scroll(i); + hc.setSelected(d.getPlayer().getInv().getSelected()); + return true; + } + } + return true; } } diff --git a/core/src/com/dungeoncrawler/model/Inventory.java b/core/src/com/dungeoncrawler/model/Inventory.java index 5235ec0..1396b46 100644 --- a/core/src/com/dungeoncrawler/model/Inventory.java +++ b/core/src/com/dungeoncrawler/model/Inventory.java @@ -3,8 +3,7 @@ package com.dungeoncrawler.model; public class Inventory { - Item items[][]; - Item equipped[]; + Item items[]; int selected; int width; int height; @@ -12,44 +11,63 @@ public class Inventory { public Inventory(int width, int height){ this.width = width; this.height = height; - items = new Item[width][height]; - equipped = new Item[2]; + items = new Item[8]; + selected = 2; } public void addItem(Item i) { - for(int n = 0; n < items.length; n++){ - for(int m = 0; m < items[0].length; m++){ - if(items[n][m] == null){ - items[n][m] = i; + for(int n = 2; n < items.length; n++){ + if(items[n] == null){ + items[n] = i; n = items.length + 1; break; } - } } } - public void equipItem(int x, int y){ - if(items[x][y] == null || items[x][y].getId() == 0){} + public void equipItem(){ + if(selected == 0 || selected == 1){ + Item temp0 = items[selected]; + items[selected] = null; + addItem(temp0); + } else{ - int slot = items[x][y].getId() - 1; - Item temp = equipped[slot]; - equipped[slot] = items[x][y]; - items[x][y] = temp; + if(items[selected] == null || items[selected].getId() == 0){} + else{ + switch(items[selected].getId()){ + case 0: + break; + case 1: + Item temp1 = items[0]; + items[0] = items[selected]; + items[selected] = temp1; + break; + case 2: + Item temp2 = items[1]; + items[1] = items[selected]; + items[selected] = temp2; + break; + } + } } } - public void dropItem(int x, int y){ - items[x][y] = null; + public void scroll(int i){ + selected += i; + } + + public void dropItem(int x){ + items[x] = null; } - public Item getItem(int x, int y){ - return items[x][y]; + public Item getItem(int x){ + return items[x]; } - public Item[][] getItem(){ + public Item[] getItem(){ return items; } @@ -59,5 +77,8 @@ public class Inventory { public int getHeight(){ return height; } + public int getSelected(){ + return selected; + } } diff --git a/core/src/com/dungeoncrawler/view/HudContainer.java b/core/src/com/dungeoncrawler/view/HudContainer.java index dd089ee..bb46c5a 100644 --- a/core/src/com/dungeoncrawler/view/HudContainer.java +++ b/core/src/com/dungeoncrawler/view/HudContainer.java @@ -22,9 +22,13 @@ public class HudContainer { Sprite[] InventoryItemSprites; float[] invXPos; float[] invYPos; + int selected; + Texture selectedTexture; + Sprite selectedSprite; public HudContainer(){ - + selectedTexture = new Texture("sprites/selected.png"); + selectedSprite = new Sprite(selectedTexture); HudTexture = new Texture("sprites/hud.png"); HudSprite = new Sprite(HudTexture); HudSprite.setX(-HudSprite.getWidth()); @@ -40,6 +44,7 @@ public class HudContainer { invXPos[1] = HudSprite.getX() + 85f; invYPos[1] = HudSprite.getY() + 112f; + invXPos[2] = HudSprite.getX() + 10f; invYPos[2] = HudSprite.getY() + 61f; invXPos[3] = HudSprite.getX() + 61f; @@ -53,21 +58,25 @@ public class HudContainer { invYPos[6] = HudSprite.getY() + 10f; invXPos[7] = HudSprite.getX() + 112f; invYPos[7] = HudSprite.getY() + 10f; + + selected = 2; + selectedSprite.setX(invXPos[selected] - 2f); + selectedSprite.setY(invYPos[selected] - 2f); } public void updateInventory(SpriteBatch batch, Player p){ InventoryItemSprites = new Sprite[8]; - Item[][] items = p.getInv().getItem(); + Item[] items = p.getInv().getItem(); for(int x = 0; x < items.length; x++){ - for(int y = 0; y < items[0].length; y++){ - if(items[x][y] != null){ - addItem(items[x][y]); + if(items[x] != null){ + addItem(items[x], x); } - } } + selectedSprite.setX(invXPos[selected] - 2f); + selectedSprite.setY(invYPos[selected] - 2f); batch.begin(); HudSprite.draw(batch); for(int i = 0; i < InventoryItemSprites.length ;i++){ @@ -75,48 +84,47 @@ public class HudContainer { InventoryItemSprites[i].draw(batch); } } + selectedSprite.draw(batch); batch.end(); } - public void addItem(Item item){ + public void addItem(Item item, int x){ switch(item.getId()){ case 0: - for(int i = 2; i < InventoryItemSprites.length; i++){ - if(InventoryItemSprites[i] == null){ - //InventoryItemTextures[i] = new Texture("sprites/itemTest.png"); - InventoryItemTextures[i] = new Texture("sprites/key.png"); - InventoryItemSprites[i] = new Sprite(InventoryItemTextures[i]); - InventoryItemSprites[i].setX(invXPos[i]); - InventoryItemSprites[i].setY(invYPos[i]); - break; - } + if(InventoryItemSprites[x] == null){ + //InventoryItemTextures[i] = new Texture("sprites/itemTest.png"); + InventoryItemTextures[x] = new Texture("sprites/key.png"); + InventoryItemSprites[x] = new Sprite(InventoryItemTextures[x]); + InventoryItemSprites[x].setX(invXPos[x]); + InventoryItemSprites[x].setY(invYPos[x]); + break; } break; case 1: - for(int i = 2; i < InventoryItemSprites.length; i++){ - if(InventoryItemSprites[i] == null){ - //InventoryItemTextures[i] = new Texture("sprites/itemTest.png"); - InventoryItemTextures[i] = new Texture("sprites/healingPotion.png"); - InventoryItemSprites[i] = new Sprite(InventoryItemTextures[i]); - InventoryItemSprites[i].setX(invXPos[i]); - InventoryItemSprites[i].setY(invYPos[i]); - break; - } + if(InventoryItemSprites[x] == null){ + //InventoryItemTextures[i] = new Texture("sprites/itemTest.png"); + InventoryItemTextures[x] = new Texture("sprites/healingPotion.png"); + InventoryItemSprites[x] = new Sprite(InventoryItemTextures[x]); + InventoryItemSprites[x].setX(invXPos[x]); + InventoryItemSprites[x].setY(invYPos[x]); + break; } break; case 2: - for(int i = 2; i < InventoryItemSprites.length; i++){ - if(InventoryItemSprites[i] == null){ + if(InventoryItemSprites[x] == null){ //InventoryItemTextures[i] = new Texture("sprites/itemTest.png"); - InventoryItemTextures[i] = new Texture("sprites/sword.png"); - InventoryItemSprites[i] = new Sprite(InventoryItemTextures[i]); - InventoryItemSprites[i].setX(invXPos[i]); - InventoryItemSprites[i].setY(invYPos[i]); + InventoryItemTextures[x]= new Texture("sprites/sword.png"); + InventoryItemSprites[x] = new Sprite(InventoryItemTextures[x]); + InventoryItemSprites[x].setX(invXPos[x]); + InventoryItemSprites[x].setY(invYPos[x]); break; } - } break; } } + + public void setSelected(int i){ + selected = i; + } }