@Override public void set(byte index, Inventory inventory) { SlotElement slot = m_slots[index]; Entity item = inventory.item(index); ItemComponent itemComponent = itemMapper.get(item); m_slots[index].itemCountLabel.setText(Integer.toString(itemComponent.stackSize)); TextureRegion region; SpriteComponent spriteComponent = spriteMapper.get(item); if (blockMapper.get(item) != null) { // hack region = m_client.m_world.m_tileRenderer.m_tilesAtlas.findRegion( spriteComponent.textureName.concat("-00")); } else { region = m_client.m_world.m_atlas.findRegion(spriteComponent.textureName); } Image slotImage = slot.itemImage; // //m_blockAtlas.findRegion("stone")); slotImage.setDrawable(new TextureRegionDrawable(region)); slotImage.setSize(region.getRegionWidth(), region.getRegionHeight()); slotImage.setScaling(Scaling.fit); setHotbarSlotVisible(index, true); // do not exceed the max size/resort to horrible upscaling. prefer native size of each inventory // sprite. // .maxSize(region.getRegionWidth(), region.getRegionHeight()).expand().center(); }
@Override public void countChanged(byte index, Inventory inventory) { ItemComponent itemComponent = itemMapper.get(inventory.item(index)); m_slots[index].itemCountLabel.setText(Integer.toString(itemComponent.stackSize)); }