use of eidolons.libgdx.screens.map.ui.time.MapTimePanel.MOON in project Eidolons by IDemiurge.
the class MapTimePanel method update.
public void update(DAY_TIME time) {
if (time.isNight())
weave.setImage(getPath() + "weave.png");
else
weave.setImage(getPath() + "weave.png");
if (time.isNight())
mainCircle.setImage(getPath() + StrPathBuilder.build("circle", "night.png"));
else
mainCircle.setImage(getPath() + StrPathBuilder.build("circle", "day.png"));
// mainCircle.setImage(getPath() + StrPathBuilder.build("circle", time.toString() + ".png"));
setSize(GdxMaster.adjustSize(mainCircle.getWidth()), GdxMaster.adjustSize(mainCircle.getHeight()));
mainCircle.setOrigin(mainCircle.getWidth() / 2, mainCircle.getHeight() * 2);
undersun.setVisible(time.isUndersunVisible());
sun.setVisible(time.isSunVisible());
MOON[] moons = getDisplayedMoons();
main.system.auxiliary.log.LogMaster.log(1, "update: " + time);
int i = 0;
for (MoonActor sub : displayedMoons) {
if (sub != null)
sub.remove();
}
for (MOON sub : moons) {
main.system.auxiliary.log.LogMaster.log(1, "added: " + sub);
// smooth?!
// or black out on update()?
displayedMoons[i] = moonMap.get(sub);
displayedMoons[i].setVisible(true);
addActor(displayedMoons[i]);
int offset = 7;
displayedMoons[i].setPosition(GdxMaster.adjustPos(true, points[i].x - offset), GdxMaster.adjustPos(false, points[i].y - offset));
i++;
}
MOON m = TimeMaster.getDate().getMonth().getActiveMoon(time.isNight());
if (activeMoon != null)
activeMoon.setActive(false);
activeMoon = moonMap.get(m);
activeMoon.setActive(true);
}
use of eidolons.libgdx.screens.map.ui.time.MapTimePanel.MOON in project Eidolons by IDemiurge.
the class MapTimePanel method init.
public void init() {
setSize((355), (203));
speedUpBtn = new TextButtonX("", STD_BUTTON.SPEED_UP, () -> {
MacroGame.getGame().getLoop().getTimeMaster().speedUp();
});
speedDownBtn = new TextButtonX("", STD_BUTTON.SPEED_DOWN, () -> {
MacroGame.getGame().getLoop().getTimeMaster().speedDown();
});
pauseButton = new TextButtonX("", STD_BUTTON.PAUSE, () -> {
MacroGame.getGame().getLoop().togglePaused();
MacroGame.getGame().getLoop().getTimeMaster().resetSpeed();
});
float moonSize = GdxMaster.adjustSize(SIZE);
addListener(new DynamicTooltip(() -> getDateString()).getController());
// display DatePanel?
for (MOON moon : MOON.values()) {
MoonActor container = new MoonActor(moon);
moonMap.put(moon, container);
}
float sunSize = moonSize * 2f;
sun = new SunActor(false);
sun.setSize(sunSize, sunSize);
sun.setVisible(false);
undersun = new SunActor(true);
undersun.setSize(sunSize, sunSize);
undersun.setVisible(false);
timeLabel = new Label("", StyleHolder.getSizedLabelStyle(FONT.NYALA, 18));
addActor(weave);
addActor(mainCircle);
addActor(sun);
addActor(undersun);
addActor(labelBg = new Image(TextureCache.getOrCreateR(getPath() + "label bg.png")));
addActor(pauseButton);
addActor(speedUpBtn);
addActor(speedDownBtn);
addActor(timeLabel);
initPositions();
GuiEventManager.bind(MapEvent.TIME_CHANGED, p -> {
update((DAY_TIME) p.get());
});
sun.addListener(new ClickListener() {
@Override
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
MacroGame.getGame().getLoop().getTimeMaster().newMonth();
return super.touchDown(event, x, y, pointer, button);
}
});
undersun.addListener(new ClickListener() {
@Override
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
MacroGame.getGame().getLoop().getTimeMaster().newMonth();
return super.touchDown(event, x, y, pointer, button);
}
});
// adjustSizes();
}
Aggregations