package ludumdare.game;

import java.awt.Graphics2D;
import java.util.ArrayList;
import java.util.Random;

import org.crusty.math.Vec2double;

public class StarController {

	static long lastTime = 0;
	static float gradualStars = 1000000000;
	static Random r = new Random();
	
	static ArrayList<Vec2double> stars = new ArrayList<Vec2double>();
	
//	static ArrayList<Vec2double> backgroundStars = new ArrayList<Vec2double>();
//	
//	public static void setupBackgroundStars() {
//		int numOfStars = r.nextInt(50);
//		backgroundStars.clear();
//		for (int i = 0; i < numOfStars; i++) {
//			backgroundStars.add(new Vec2double(r.nextInt(500), r.nextInt(500)));
//		}
//	}
	
	public static void update(double dt) {
		if (lastTime < gradualStars) {
			lastTime += dt;
			if (gradualStars > 10000000) {
				gradualStars -= dt / 20f;
			}
		} else {
			lastTime = 0;
			
			stars.add(new Vec2double(r.nextInt(500), -15 + r.nextInt(15)));
		}
		for (int i = 0; i < stars.size(); i++) {
			stars.get(i).y += 0.1 * dt / 1000000;
			if (stars.get(i).y > 500)
				stars.remove(stars.get(i));
		}
	}
	
	public static void draw(Graphics2D g) {
		if (ScreenManager.currentScreen.stars) {
			for (int i = 0; i < stars.size(); i++) {
				Vec2double s = stars.get(i);
				g.drawImage(SpriteManager.getSprite("star.png").image, 
									(int) s.x, 
									(int) s.y, 
									null);
			}
		}
		
//		if (ScreenManager.currentScreen.backgroundStars) {
//			for (int i = 0; i < backgroundStars.size(); i++) {
//				Vec2double s = backgroundStars.get(i);
//				g.drawImage(SpriteManager.getSprite("star.png").image, 
//						(int) s.x, 
//						(int) s.y, 
//						null);
//			}
//		}
	}
	
}
