package com.cardshifter.gdx.ui.res; import com.badlogic.gdx.scenes.scene2d.Actor; import com.badlogic.gdx.scenes.scene2d.ui.Label; import com.badlogic.gdx.scenes.scene2d.ui.Skin; import java.util.Map; /** * Created by Simon on 2/8/2015. */ public class ColoredResView extends ResView { private final Label label; private final String key; private final String originalKey; private int original; public ColoredResView(Skin skin, String key, Map<String, Object> properties) { this(skin, key, (String) null); Integer value = (Integer) properties.get(key); this.original = value == null ? 0 : value; } public ColoredResView(Skin skin, String key, String originalKey) { this.label = new Label("", skin); this.key = key; this.originalKey = originalKey; } @Override public Actor getActor() { return label; } @Override public void update(Map<String, ? extends Object> properties) { if (originalKey != null) { Integer i = (Integer) properties.get(originalKey); if (i != null) { original = i; } } Integer value = (Integer) properties.get(key); if (value == null) { return; } this.label.setText(String.valueOf(value)); if (value < original) { this.label.setColor(1, 0, 0, 1); } else if (value > original) { this.label.setColor(0, 1, 0, 1); } else { this.label.setColor(1, 1, 1, 1); } } }