Esempio n. 1
0
 private void disposeGameScene() {
   gameScene.setIgnoreUpdate(true);
   ResourceManager.getInstance().unloadGameTextures();
   ResourceManager.getInstance().unloadGamePause();
   gameScene.disposeScene();
   gameScene = null;
 }
Esempio n. 2
0
 @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);
 }
Esempio n. 3
0
  @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);
 }
Esempio n. 5
0
 @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");
             }
           }));
 }
Esempio n. 9
0
  @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);
  }
Esempio n. 10
0
 public void showBoardScene() {
   menuScene.hide();
   boardScene.show();
   setHUDVisible(true);
   gameState = GameState.BOARD;
 }
Esempio n. 11
0
 private void showMenuScene() {
   menuScene.show();
   boardScene.hide();
   setHUDVisible(false);
   gameState = GameState.MENU;
 }
Esempio n. 12
0
 public void setScene(BaseScene scene) {
   engine.setScene(scene);
   currentScene = scene;
   currentSceneType = scene.getSceneType();
 }
Esempio n. 13
0
 public void disposeSelectorScene() {
   ResourceManager.getInstance().unloadSelector();
   selectorScene.disposeScene();
   selectorScene = null;
 }
Esempio n. 14
0
 public void disposeSettingsScene() {
   ResourceManager.getInstance().unloadSettings();
   settingsScene.disposeScene();
   settingsScene = null;
 }
Esempio n. 15
0
 private void disposeLoadScene() {
   ResourceManager.getInstance().unloadFonts();
   loadScene.disposeScene();
   loadScene = null;
 }
Esempio n. 16
0
 private void disposeMenuScene() {
   menuScene.setIgnoreUpdate(true);
   ResourceManager.getInstance().unloadMenu();
   menuScene.disposeScene();
   menuScene = null;
 }
Esempio n. 17
0
 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;
 }
Esempio n. 20
0
 @Override
 public void onManagedUpdate(float p) {
   super.onManagedUpdate(p * speedFactor);
 }
Esempio n. 21
0
 @Override
 protected void onManagedUpdate(float pSecondsElapsed) {
   super.onManagedUpdate(pSecondsElapsed * this.player.getSpeed());
 }