Android Open Source - crabox Game Controller






From Project

Back to project page crabox.

License

The source code is released under:

Apache License

If you think the Android project crabox listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.costular.crabox;
/*from w  w w .  j  a v a2 s  .  com*/
import java.util.ArrayList;
import java.util.List;

import com.badlogic.gdx.Gdx;

public class GameController implements Controller{
  
  private List<Controller> controllers;
  
  private GameState state;
  

  public boolean isNotReady() {
    return state == GameState.NOT_READY;
  }
  
  public boolean isStarted() {
    return state == GameState.STARTED;
  }
  
  public boolean isGameOver() {
    return state == GameState.GAME_OVER;
  }

  public GameState getState() {
    return state;
  }

  public void setState(GameState state) {
    this.state = state;
    Gdx.app.debug(getClass().getSimpleName(), "State changed: " + state.toString());
  }

  public GameController() {
    controllers = new ArrayList<Controller>();
  }
  
  public void addController(Controller c) {
    controllers.add(c);
  }
  
  public void removeController(Controller c) {
    controllers.remove(c);
  }
  
  public void gameOver() {
    setState(GameState.GAME_OVER);
    
    for(Controller c : controllers) {
      c.gameOver();
    }
  }
  
  public void start() {
    setState(GameState.STARTED);
    
    for(Controller c : controllers) {
      c.start();
    }
  }
  
  public void notReady() {
    setState(GameState.NOT_READY);
    
    for(Controller c : controllers) {
      c.notReady();
    }
  }
  
  @Override
  public void screenChanged() {
    state = GameState.SCREEN_CHANGED;
    
    for(Controller c : controllers) {
      c.screenChanged();
    }
    
    notReady();
  }
}




Java Source Code List

com.costular.crabox.AddInterface.java
com.costular.crabox.Cbx.java
com.costular.crabox.Controller.java
com.costular.crabox.GameController.java
com.costular.crabox.GameState.java
com.costular.crabox.MainClass.java
com.costular.crabox.actors.Box.java
com.costular.crabox.actors.ContactBodies.java
com.costular.crabox.actors.DefaultBox.java
com.costular.crabox.actors.DefaultTriangle.java
com.costular.crabox.actors.Player.java
com.costular.crabox.actors.Score.java
com.costular.crabox.actors.ToggleButton.java
com.costular.crabox.android.AndroidLauncher.java
com.costular.crabox.android.Facebook.java
com.costular.crabox.android.Notification.java
com.costular.crabox.android.RequestAd.java
com.costular.crabox.screens.GameScreen.java
com.costular.crabox.screens.HUD.java
com.costular.crabox.screens.MenuScreen.java
com.costular.crabox.util.AssetManager.java
com.costular.crabox.util.AudioManager.java
com.costular.crabox.util.Box2DUtils.java
com.costular.crabox.util.FacebookRequest.java
com.costular.crabox.util.GeometryUtils.java
com.costular.crabox.util.NotificationRequest.java
com.costular.crabox.util.Preferences.java
com.costular.crabox.util.StageGenerator.java
com.costular.crabox.util.Utils.java