/* * Copyright (c) 2012. HappyDroids LLC, All rights reserved. */ package com.happydroids.droidtowers.gui; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.scenes.scene2d.ui.Label; import com.badlogic.gdx.scenes.scene2d.ui.Table; import com.badlogic.gdx.scenes.scene2d.utils.Align; import com.esotericsoftware.tablelayout.Cell; import com.happydroids.droidtowers.achievements.Requirement; import java.util.List; import static com.happydroids.droidtowers.gui.FontManager.Roboto18; import static com.happydroids.droidtowers.gui.FontManager.RobotoBold18; class RequirementsTable extends Table { public RequirementsTable(List<Requirement> requirements) { defaults().top().left().space(8).fillX(); add(FontManager.Default.makeLabel("requirement", Color.GRAY)).expandX(); add(FontManager.Default.makeLabel("amount", Color.GRAY, Align.center)); add(FontManager.Default.makeLabel("your progress", Color.GRAY, Align.center)).center(); row(); add(new HorizontalRule(Color.DARK_GRAY, 1)).colspan(3); for (Requirement requirement : requirements) { addRequirement(requirement); } } @SuppressWarnings("unchecked") private void addRequirement(Requirement requirement) { row().fillX().pad(12, 0, 12, 0); Label label = Roboto18.makeLabel(requirement.displayString()); label.setWrap(true); add(label).expandX(); Cell amountCell = add().center(); if (requirement.getAmount() > 0) { Label amountValue = RobotoBold18.makeLabel(String.format("%d/%d", requirement.getCurrentWeight(), requirement.getAmount())); amountValue.setAlignment(Align.center); amountCell.setWidget(amountValue); } ProgressBar progressBar = new ProgressBar(requirement.getProgress()); add(progressBar) .width(200) .right().center(); row(); add(new HorizontalRule(Color.DARK_GRAY, 1)).colspan(3); } }