/* * 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.actions.Actions; import com.badlogic.gdx.scenes.scene2d.ui.Label; import com.badlogic.gdx.scenes.scene2d.ui.Table; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import java.util.Iterator; import java.util.List; import static com.happydroids.droidtowers.gui.FontManager.Default; public class NewsTickerPanel extends Table { private final Label label; private List<String> stories; private Iterator<String> storiesIterator; public NewsTickerPanel() { stories = Lists.newArrayList(); storiesIterator = Iterables.cycle(stories).iterator(); label = Default.makeLabel(""); defaults(); add(Default.makeLabel("NEWS: ", Color.LIGHT_GRAY)).bottom(); add(label).expandX(); addStory("Some droids are stuck in the elevator!"); addStory("Timmy fell into the well!"); addStory("Bleh!"); label.setText(storiesIterator.next()); label.getColor().a = 0f; label.addAction(Actions.forever(Actions.sequence( Actions.fadeIn(0.35f), Actions.delay(5f), Actions.fadeOut(0.35f), Actions.run(new Runnable() { @Override public void run() { label.setText(storiesIterator.next()); } }) ))); } private void addStory(String storyText) { stories.add(storyText); storiesIterator = Iterables.cycle(stories).iterator(); } @Override public void act(float delta) { super.act(delta); } }