package ei.engine.test;

import ei.engine.effects.Particles;
import ei.engine.math.Vector3f;
import ei.engine.math.Vector4f;
import ei.engine.scene.Box;
import ei.engine.scene.Node;
import ei.engine.scene.Sprite;
import ei.engine.sound.Sound;
import ei.engine.state.GameState;
import ei.engine.texture.Texture;


public class GameStateTestState extends GameState{
	private Node rootNode;
	private Sprite sprite1;
	private Sound sound1;
	private Particles p;
	
	public GameStateTestState(String name){
		super(name);
	}

	@Override
	public void init() {
		rootNode = new Node("InGameNode");
		
		sprite1 = new Sprite("tank","data/units/tank.png");
		//sprite1.setScale(new Vector2f(0.5f,0.5f));
		sprite1.setLocation(new Vector3f(400,300,0.2f));
		rootNode.add(sprite1);
		
		Texture tex = new Texture();
		tex.setColor(new Vector4f(0.5f, 1.0f, 0.5f,1));
		Box box = new Box("box",tex);
		box.setLocation(sprite1.getLocation());
		box.setRotation(sprite1.getRotation());
		box.setSize(sprite1.getSize());
		rootNode.add(box);
		
		p = new Particles("particle");
		p.setLocation(sprite1.getLocation().getCopy());
		p.getLocation().setZ(0.1f);
		rootNode.add(p);
		
		sound1 = new Sound("sound","data/sounds/center.wav");
		sound1.loop();
		sound1.setLocation(sprite1.getLocation());
		rootNode.add(sound1);
	}
	
	@Override
	public void render() {
		rootNode.render();
	}

	@Override
	public void update() {
		//LWJGLGameWindow.getCamera().getLocation().add(new Vector2f(-1.5f,-1.5f));
		sprite1.getRotation().add(0, 0, 0.5f);
		rootNode.update();
	}

}