package gg.gerda.functions;
import gg.gerda.ui.styles.Style;
import java.awt.Color;
public class RainbowStyle extends Style {
private float hue = 0f;
private long lastUpdateTime = 0;
private static final long UPDATE_INTERVAL = 20; // кд
public RainbowStyle(String name) {
super(name, new Color(Color.HSBtoRGB(0, 1, 1)), new Color(Color.HSBtoRGB(0, 1, 1)));
}
@Override
public Color getFirstColor() {
updateHue();
return new Color(Color.HSBtoRGB(hue, 1, 1));
}
@Override
public Color getSecondColor() {
updateHue();
return new Color(Color.HSBtoRGB(hue, 1, 1));
}
private void updateHue() {
long currentTime = System.currentTimeMillis();
if (currentTime - lastUpdateTime > UPDATE_INTERVAL) {
hue += 0.01f; // ну типо ещё одно кд
if (hue > 1) hue = 0;
lastUpdateTime = currentTime;
}
}
}