public WndInfoCell(int cell) { super(); int tile = Dungeon.level.map[cell]; if (Level.water[cell]) { tile = Terrain.WATER; } else if (Level.pit[cell]) { tile = Terrain.CHASM; } IconTitle titlebar = new IconTitle(); if (tile == Terrain.WATER) { Image water = new Image(Dungeon.level.waterTex()); water.frame(0, 0, DungeonTilemap.SIZE, DungeonTilemap.SIZE); titlebar.icon(water); } else { titlebar.icon(DungeonTilemap.tile(tile)); } titlebar.label(Dungeon.level.tileName(tile)); titlebar.setRect(0, 0, WIDTH, 0); add(titlebar); BitmapTextMultiline info = PixelScene.createMultiline(6); add(info); StringBuilder desc = new StringBuilder(Dungeon.level.tileDesc(tile)); final char newLine = '\n'; for (Blob blob : Dungeon.level.blobs.values()) { if (blob.cur[cell] > 0 && blob.tileDesc() != null) { if (desc.length() > 0) { desc.append(newLine); } desc.append(blob.tileDesc()); } } info.text(desc.length() > 0 ? desc.toString() : TXT_NOTHING); info.maxWidth = WIDTH; info.measure(); info.x = titlebar.left(); info.y = titlebar.bottom() + GAP; resize(WIDTH, (int) (info.y + info.height())); }
public WndBlacksmith(Blacksmith troll, Hero hero) { super(); IconTitle titlebar = new IconTitle(); titlebar.icon(troll.sprite()); titlebar.label(Utils.capitalize(troll.name)); titlebar.setRect(0, 0, WIDTH, 0); add(titlebar); BitmapTextMultiline message = PixelScene.createMultiline(TXT_PROMPT, 6); message.maxWidth = WIDTH; message.measure(); message.y = titlebar.bottom() + GAP; add(message); btnItem1 = new ItemButton() { @Override protected void onClick() { btnPressed = btnItem1; GameScene.selectItem(itemSelector, WndBag.Mode.UPGRADEABLE, TXT_SELECT); } }; btnItem1.setRect( (WIDTH - BTN_GAP) / 2 - BTN_SIZE, message.y + message.height() + BTN_GAP, BTN_SIZE, BTN_SIZE); add(btnItem1); btnItem2 = new ItemButton() { @Override protected void onClick() { btnPressed = btnItem2; GameScene.selectItem(itemSelector, WndBag.Mode.UPGRADEABLE, TXT_SELECT); } }; btnItem2.setRect(btnItem1.right() + BTN_GAP, btnItem1.top(), BTN_SIZE, BTN_SIZE); add(btnItem2); btnReforge = new RedButton(TXT_REFORGE) { @Override protected void onClick() { Blacksmith.upgrade(btnItem1.item, btnItem2.item); hide(); } }; btnReforge.enable(false); btnReforge.setRect(0, btnItem1.bottom() + BTN_GAP, WIDTH, 20); add(btnReforge); resize(WIDTH, (int) btnReforge.bottom()); }
public StatsTab() { super(); if (Dungeon.challenges > 0) GAP--; String heroClass = Dungeon.hero.className(); IconTitle title = new IconTitle(); title.icon(HeroSprite.avatar(Dungeon.hero.heroClass, Dungeon.hero.tier())); title.label(Utils.format(TXT_TITLE, Dungeon.hero.lvl, heroClass).toUpperCase(Locale.ENGLISH)); title.color(Window.SHPX_COLOR); title.setRect(0, 0, WIDTH, 0); add(title); float pos = title.bottom(); if (Dungeon.challenges > 0) { RedButton btnCatalogus = new RedButton(TXT_CHALLENGES) { @Override protected void onClick() { Game.scene().add(new WndChallenges(Dungeon.challenges, false)); } }; btnCatalogus.setRect(0, pos, btnCatalogus.reqWidth() + 2, btnCatalogus.reqHeight() + 2); add(btnCatalogus); pos = btnCatalogus.bottom(); } pos += GAP + GAP; pos = statSlot(this, TXT_STR, Integer.toString(Dungeon.hero.STR), pos); pos = statSlot(this, TXT_HEALTH, Integer.toString(Dungeon.hero.HT), pos); pos += GAP; pos = statSlot(this, TXT_DURATION, Integer.toString((int) Statistics.duration), pos); pos += GAP; pos = statSlot(this, TXT_DEPTH, Integer.toString(Statistics.deepestFloor), pos); pos = statSlot(this, TXT_ENEMIES, Integer.toString(Statistics.enemiesSlain), pos); pos = statSlot(this, TXT_GOLD, Integer.toString(Statistics.goldCollected), pos); pos += GAP; pos = statSlot(this, TXT_FOOD, Integer.toString(Statistics.foodEaten), pos); pos = statSlot(this, TXT_ALCHEMY, Integer.toString(Statistics.potionsCooked), pos); pos = statSlot(this, TXT_ANKHS, Integer.toString(Statistics.ankhsUsed), pos); }
private float createCommonStuff(TomeOfMastery tome, String text) { IconTitle titlebar = new IconTitle(); titlebar.icon(new ItemSprite(tome.image(), null)); titlebar.label(tome.name()); titlebar.setRect(0, 0, WIDTH, 0); add(titlebar); HighlightedText hl = new HighlightedText(6); hl.text(text, WIDTH); hl.setPos(titlebar.left(), titlebar.bottom() + GAP); add(hl); return hl.bottom(); }
public WndInfoPlant(Plant plant) { super(); IconTitle titlebar = new IconTitle(); titlebar.icon(new PlantSprite(plant.image)); titlebar.label(plant.plantName); titlebar.setRect(0, 0, WIDTH, 0); add(titlebar); BitmapTextMultiline info = PixelScene.createMultiline(6); add(info); info.text(plant.desc()); info.maxWidth = WIDTH; info.measure(); info.x = titlebar.left(); info.y = titlebar.bottom() + GAP; resize(WIDTH, (int) (info.y + info.height())); }
public WndInfoBuff(Buff buff) { super(); IconTitle titlebar = new IconTitle(); icons = TextureCache.get(Assets.BUFFS_LARGE); film = new TextureFilm(icons, 16, 16); Image buffIcon = new Image(icons); buffIcon.frame(film.get(buff.icon())); titlebar.icon(buffIcon); titlebar.label(Messages.titleCase(buff.toString()), Window.TITLE_COLOR); titlebar.setRect(0, 0, WIDTH, 0); add(titlebar); RenderedTextMultiline txtInfo = PixelScene.renderMultiline(buff.desc(), 6); txtInfo.maxWidth(WIDTH); txtInfo.setPos(titlebar.left(), titlebar.bottom() + GAP); add(txtInfo); resize(WIDTH, (int) (txtInfo.top() + txtInfo.height())); }