// Path: src/Game/Scenes/menu.java
// public class menu extends Scene {
// 	public void Load(PicassoEngine engine) {
// 		// Play game in goFullscreen
// 		Application.goFullscreen();
// 		Application.showCursor();
// 		
// 		// Add sky
// 		setSky(new Sky("assets/images/sky.jpg"));
// 		Camera camera = new Camera(new Vector3());
// 		camera.addScript(new MenuCamera(camera, this, engine));
// 		addGameObject(camera);
// 		setActiveCamera(camera);
// 	}
// }


import Game.Scenes.*;
import Game.Scenes.menu;
import PicassoEngine.*;
		super(gameObject);
		this.levelNumber = levelNumber;
		this.engine = engine;
		this.scene = scene;
		this.cameraFollow = cameraFollow;
		this.viewResetAngle = viewResetAngle;
		RigidBody ball = (RigidBody) gameObject;
		ball.addForce(movementForce);
	}
	
	public void Update() {
		double angle = cameraFollow.getOrbitAngle();
		Vector3 force = new Vector3();
		
		if (Input.getKey("W")) {
			force.add(new Vector3(Math.cos(angle * Math.PI / 180), 0, Math.sin(angle * Math.PI / 180)));
		}
		if (Input.getKey("S")) {
			force.add(new Vector3(Math.cos((angle + 180) * Math.PI / 180), 0, Math.sin((angle + 180) * Math.PI / 180)));
		}
		if (Input.getKey("A")) {
			force.add(new Vector3(Math.cos((angle + 90) * Math.PI / 180), 0, Math.sin((angle + 90) * Math.PI / 180)));
		}
		if (Input.getKey("D")) {
			force.add(new Vector3(Math.cos((angle - 90) * Math.PI / 180), 0, Math.sin((angle - 90) * Math.PI / 180)));
		}
		movementForce.set(force.getScaled(5));
		
		// Exit game with escape key
		if (Input.getKey("Escape")) {
// Path: src/Game/Scenes/menu.java
// public class menu extends Scene {
// 	public void Load(PicassoEngine engine) {
// 		// Play game in goFullscreen
// 		Application.goFullscreen();
// 		Application.showCursor();
// 		
// 		// Add sky
// 		setSky(new Sky("assets/images/sky.jpg"));
// 		Camera camera = new Camera(new Vector3());
// 		camera.addScript(new MenuCamera(camera, this, engine));
// 		addGameObject(camera);
// 		setActiveCamera(camera);
// 	}
// }


// Path: src/Game/Scripts/BallMovement.java
import Game.Scenes.*;
import Game.Scenes.menu;
import PicassoEngine.*;

		super(gameObject);
		this.levelNumber = levelNumber;
		this.engine = engine;
		this.scene = scene;
		this.cameraFollow = cameraFollow;
		this.viewResetAngle = viewResetAngle;
		RigidBody ball = (RigidBody) gameObject;
		ball.addForce(movementForce);
	}
	
	public void Update() {
		double angle = cameraFollow.getOrbitAngle();
		Vector3 force = new Vector3();
		
		if (Input.getKey("W")) {
			force.add(new Vector3(Math.cos(angle * Math.PI / 180), 0, Math.sin(angle * Math.PI / 180)));
		}
		if (Input.getKey("S")) {
			force.add(new Vector3(Math.cos((angle + 180) * Math.PI / 180), 0, Math.sin((angle + 180) * Math.PI / 180)));
		}
		if (Input.getKey("A")) {
			force.add(new Vector3(Math.cos((angle + 90) * Math.PI / 180), 0, Math.sin((angle + 90) * Math.PI / 180)));
		}
		if (Input.getKey("D")) {
			force.add(new Vector3(Math.cos((angle - 90) * Math.PI / 180), 0, Math.sin((angle - 90) * Math.PI / 180)));
		}
		movementForce.set(force.getScaled(5));
		
		// Exit game with escape key
		if (Input.getKey("Escape")) {
			engine.loadScene(new menu());