private void disposeGameScene() { gameScene.setIgnoreUpdate(true); ResourceManager.getInstance().unloadGameTextures(); ResourceManager.getInstance().unloadGamePause(); gameScene.disposeScene(); gameScene = null; }
@Override public boolean onSceneTouchEvent(TouchEvent pSceneTouchEvent) { // LogUtils.d("loadingState = "+loadingState +" | "+gameState); switch (loadingState) { case LOADED: switch (gameState) { case MENU: return menuScene.onSceneTouchEvent(pSceneTouchEvent); case BOARD: return boardScene.onSceneTouchEvent(pSceneTouchEvent); } break; } return super.onSceneTouchEvent(pSceneTouchEvent); }
@Override public void render() { super.render(); texture.bind(); shaderProgram.begin(); shaderProgram.setUniformMatrix("u_model", model.getTRS()); shaderProgram.setUniformMatrix("u_rot", model.getRotationMatrix()); shaderProgram.setUniformMatrix("u_mvp", camera.getProjection().mul(model.getTRS())); shaderProgram.setUniform4fv("u_light_pos", spotlight.getPositionAsV4(), 0, 4); shaderProgram.setUniform4fv("u_light_c", spotlight.getColorAsV4(), 0, 4); shaderProgram.setUniform4fv("u_light_dir", spotlight.getRotationAsV4(), 0, 4); shaderProgram.setUniformf("u_light_in", spotlight.getIntensity()); shaderProgram.setUniformf( "u_light_max_angle_cos", (float) Math.cos((double) spotlight.getMaxAngle())); shaderProgram.setUniformf("u_shininess", model.getShininess()); shaderProgram.setUniform4fv("u_camera_pos", camera.getPositionAsV4(), 0, 4); spaceshipMesh.render(shaderProgram, GL20.GL_TRIANGLES); floorTxt.bind(); shaderProgram.setUniformMatrix("u_model", floor.getTRS()); shaderProgram.setUniformMatrix("u_rot", floor.getRotationMatrix()); shaderProgram.setUniformMatrix("u_mvp", camera.getProjection().mul(floor.getTRS())); shaderProgram.setUniform4fv("u_light_pos", spotlight.getPositionAsV4(), 0, 4); shaderProgram.setUniform4fv("u_light_c", spotlight.getColorAsV4(), 0, 4); shaderProgram.setUniform4fv("u_light_dir", spotlight.getRotationAsV4(), 0, 4); shaderProgram.setUniformf("u_light_in", spotlight.getIntensity()); shaderProgram.setUniformf( "u_light_max_angle_cos", (float) Math.cos((double) spotlight.getMaxAngle())); shaderProgram.setUniformf("u_shininess", floor.getShininess()); shaderProgram.setUniform4fv("u_camera_pos", camera.getPositionAsV4(), 0, 4); floor.getMesh().render(shaderProgram, GL20.GL_TRIANGLES); shaderProgram.end(); }
public void createSplashScene(IGameInterface.OnCreateSceneCallback onCreateSceneCallback) { resourceManagerMap.get(SceneType.SPLASH).loadResources(); splashScene = new SplashScene(resourceManagerMap.get(SceneType.SPLASH)); splashScene.createScene(); currentScene = splashScene; onCreateSceneCallback.onCreateSceneFinished(splashScene); }
@Override public void create() { super.create(); shaderProgram = loadShader("defaultVS.glsl", "spot-phong-FS.glsl"); spotlight = new Spotlight( new Vector3(0, 3, 0), new Vector3(0, (float) Math.PI / 4 + 0.3f, 0), new Vector3(0.3f, 1.0f, 0.3f), 1, (float) Math.PI / 4); ModelLoader<?> cubeLoader = new ObjLoader(); ModelData floorData = cubeLoader.loadModelData(Gdx.files.internal("box.obj")); floorTxt = new Texture("texture.png"); floorMesh = new Mesh( true, floorData.meshes.get(0).vertices.length, floorData.meshes.get(0).parts[0].indices.length, VertexAttribute.Position(), VertexAttribute.Normal(), VertexAttribute.TexCoords(0)); floorMesh.setVertices(floorData.meshes.get(0).vertices); floorMesh.setIndices(floorData.meshes.get(0).parts[0].indices); floor = new ModelObject( floorMesh, 0.2f, new Vector3(-150, -2, -150), new Vector3(0, 0, 0), new Vector3(3000f, 0.1f, 3000f)); ((MoveablePCamera) camera).addModel(model); }
public void createMainMenuScene() { final MainMenuResourcesManager menuResourcesManager = (MainMenuResourcesManager) resourceManagerMap.get(SceneType.MENU); final IResourcesManager loadingResourcesManger = resourceManagerMap.get(SceneType.LOADING); menuResourcesManager.loadResources(); menuResourcesManager.loadFonts(); loadingResourcesManger.loadResources(); menuScene = new MainMenuScene(menuResourcesManager); menuScene.createScene(); loadingScene = new LoadingScene(loadingResourcesManger); loadingScene.createScene(); setScene(menuScene); disposeSplashScene(); showAppRating(); }
public void loadMenuScene(final Engine mEngine, SceneType sceneGameType) { setScene(loadingScene); if (gameScene != null && sceneGameType == gameScene.getSceneType()) { gameScene.disposeScene(); ResourcesManager.getInstance().unloadGameTextures(); } else if (simulationScene != null && sceneGameType == simulationScene.getSceneType()) { simulationScene.disposeScene(); ResourcesManager.getInstance().unloadSimulationTextures(); } mEngine.registerUpdateHandler( new TimerHandler( 0.1f, new ITimerCallback() { public void onTimePassed(final TimerHandler pTimerHandler) { mEngine.unregisterUpdateHandler(pTimerHandler); ResourcesManager.getInstance().loadMenuTextures(); setScene(menuScene); } })); }
public void loadMenuScene(BaseScene scene) { Log.i(TAG, ">> Loading menu scene"); setScene(loadingScene); scene.disposeScene(); engine.registerUpdateHandler( new TimerHandler( ContextConstants.LOADING_SCENE_TIME, new ITimerCallback() { @Override public void onTimePassed(TimerHandler pTimerHandler) { engine.unregisterUpdateHandler(pTimerHandler); resourceManagerMap.get(SceneType.MENU).loadResources(); setScene(menuScene); Log.i(TAG, "<< Loading menu scene finished"); } })); }
@Override protected void onManagedUpdate(float pSecondsElapsed) { if (score > record) record = score; FPScounter++; if (FPScounter == FPS) { FPScounter = 0; timeLeft--; timeText.setText(String.valueOf(timeLeft)); FPScounter = 0; } if (timeLeft == 0) this.onBackKeyPressed(); int bigBird = MathUtils.random(0, 800); int smallBird = MathUtils.random(0, 1000); for (int i = 0; i < plumageArray.size(); i++) { plumageArray.get(i).lifetime -= pSecondsElapsed; if (plumageArray.get(i).lifetime <= 0) { plumageArray.get(i).detachSelf(); plumageArray.get(i).dispose(); plumageArray.remove(plumageArray.get(i)); } } if (birdArray.size() < maxBirdCount) { if (bigBird == 1 || bigBird == 2) { Log.w("GAME", "addBigRight"); birdArray.add( GetNewtBird( bigRightBirdPool, -BirdsSizes.bigBirdWidth, MathUtils.random(0, 200), BirdsSizes.bigBirdDuration)); getChildByIndex(0).attachChild(birdArray.getLast()); } else if (bigBird == 3 || bigBird == 4) { Log.w("GAME", "addBigLeft"); birdArray.add( GetNewtBird( bigLeftBirdPool, background.getWidth(), MathUtils.random(0, 200), BirdsSizes.bigBirdDuration)); getChildByIndex(0).attachChild(birdArray.getLast()); } if (smallBird == 1 || smallBird == 2) { Log.w("GAME", "addSmallRight"); birdArray.add( GetNewtBird( smallRightBirdPool, -BirdsSizes.smallBirdWidth, MathUtils.random(0, 200), BirdsSizes.smallBirdDuration)); getChildByIndex(0).attachChild(birdArray.getLast()); } else if (smallBird == 3 || smallBird == 4) { Log.w("GAME", "addSmallLeft"); birdArray.add( GetNewtBird( smallLeftBirdPool, background.getWidth(), MathUtils.random(0, 200), BirdsSizes.smallBirdDuration)); getChildByIndex(0).attachChild(birdArray.getLast()); } } for (int i = 0; i < birdArray.size(); i++) { if ((birdArray.get(i).getX() >= background.getWidth() && birdArray.get(i).currentDirection == DIRECTIONS.RIGHT) || (birdArray.get(i).getX() <= -BirdsSizes.bigBirdWidth && birdArray.get(i).currentType == BirdType.SIMPLE_BIG_LEFT)) { AddToPool(i); } else if ((birdArray.get(i).getX() <= -BirdsSizes.smallBirdWidth && birdArray.get(i).currentType == BirdType.SIMPLE_SMALL_LEFT)) { AddToPool(i); } } super.onManagedUpdate(pSecondsElapsed); }
public void showBoardScene() { menuScene.hide(); boardScene.show(); setHUDVisible(true); gameState = GameState.BOARD; }
private void showMenuScene() { menuScene.show(); boardScene.hide(); setHUDVisible(false); gameState = GameState.MENU; }
public void setScene(BaseScene scene) { engine.setScene(scene); currentScene = scene; currentSceneType = scene.getSceneType(); }
public void disposeSelectorScene() { ResourceManager.getInstance().unloadSelector(); selectorScene.disposeScene(); selectorScene = null; }
public void disposeSettingsScene() { ResourceManager.getInstance().unloadSettings(); settingsScene.disposeScene(); settingsScene = null; }
private void disposeLoadScene() { ResourceManager.getInstance().unloadFonts(); loadScene.disposeScene(); loadScene = null; }
private void disposeMenuScene() { menuScene.setIgnoreUpdate(true); ResourceManager.getInstance().unloadMenu(); menuScene.disposeScene(); menuScene = null; }
private void disposeIntroScene() { ResourceManager.getInstance().unloadIntro(); introScene.disposeScene(); introScene = null; }
private void disposeSplashScene() { splashScene.disposeScene(); splashScene = null; }
private void disposeSplashScene() { ResourcesManager.getInstance().unloadSplashScreen(); splashScene.disposeScene(); splashScene = null; }
@Override public void onManagedUpdate(float p) { super.onManagedUpdate(p * speedFactor); }
@Override protected void onManagedUpdate(float pSecondsElapsed) { super.onManagedUpdate(pSecondsElapsed * this.player.getSpeed()); }