Android Open Source - RollOverSphere---a-simple-libgdx-game Box Type Factory






From Project

Back to project page RollOverSphere---a-simple-libgdx-game.

License

The source code is released under:

MIT License

If you think the Android project RollOverSphere---a-simple-libgdx-game 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.igorcrevar.rolloverchuck.objects.boxes;
/*from   w w  w. j a  v  a 2  s  . c  o  m*/
import com.badlogic.gdx.graphics.Color;
import com.igorcrevar.rolloverchuck.objects.ChuckObject;

public class BoxTypeFactory {
  private static class StandardBox implements IBoxType {
    @Override
    public float getScale() {
      return 1.0f;
    }

    @Override
    public int getPoint() {      
      return 1;
    }

    @Override
    public void applyUpgrade(ChuckObject chuck) {      
    }

    @Override
    public Color getColor() {
      return new Color(0.0f, 0.2f, 0.7f, 1.0f);
    }

    @Override
    public float getRotationSpeed() {
      return 50.0f;
    }    
  }
  
  private static class GrowUpBox implements IBoxType {
    @Override
    public float getScale() {
      return 0.6f;
    }

    @Override
    public int getPoint() {      
      return 0;
    }

    @Override
    public void applyUpgrade(ChuckObject chuck) {
      chuck.makeChuckBig();
    }

    @Override
    public Color getColor() {
      return new Color(0f, 1.0f, 0.7f, 1.0f);
    }

    @Override
    public float getRotationSpeed() {
      return 100.0f;
    }    
  }
  
  private static class ShrinkBox implements IBoxType {
    @Override
    public Color getColor() {
      return new Color(1.0f, 0.9f, 0.0f, 1.0f);
    }    
    
    @Override
    public float getScale() {
      return 0.6f;
    }

    @Override
    public int getPoint() {      
      return 0;
    }

    @Override
    public void applyUpgrade(ChuckObject chuck) {
      chuck.makeChuckSmall();
    }
    
    @Override
    public float getRotationSpeed() {
      return 15.0f;
    }    
  }
  
  private static class BonusBox implements IBoxType {
    @Override
    public Color getColor() {
      return new Color(0.8f, 0.8f, 0.8f, 1.0f);
    }    
    
    @Override
    public float getScale() {
      return 0.6f;
    }

    @Override
    public int getPoint() {      
      return 24;
    }

    @Override
    public void applyUpgrade(ChuckObject chuck) {
    }
    
    @Override
    public float getRotationSpeed() {
      return 80.0f;
    }  
  }
  
  private static class NegativeBox implements IBoxType {
    @Override
    public Color getColor() {
      return new Color(1.0f, 0.0f, 0.f, 1.0f);
    }    
    
    @Override
    public float getScale() {
      return 1f;
    }

    @Override
    public int getPoint() {      
      return -4;
    }

    @Override
    public void applyUpgrade(ChuckObject chuck) {
    }
    
    @Override
    public float getRotationSpeed() {
      return 5.0f;
    }  
  }
  
  private static IBoxType[] types = new IBoxType[] { new StandardBox(), new GrowUpBox(), new ShrinkBox(), new BonusBox(), new NegativeBox() };
  
  public static IBoxType create(int type) {
    if (type < 0 || type >= types.length) {
      throw new IllegalArgumentException("Unknown type");      
    }
    return types[type];
  }
}




Java Source Code List

com.google.example.games.basegameutils.GameHelperUtils.java
com.google.example.games.basegameutils.GameHelper.java
com.igorcrevar.rolloverchuck.DesktopRunner.java
com.igorcrevar.rolloverchuck.GameConsts.java
com.igorcrevar.rolloverchuck.GameData.java
com.igorcrevar.rolloverchuck.GameListener.java
com.igorcrevar.rolloverchuck.GameManager.java
com.igorcrevar.rolloverchuck.GameType.java
com.igorcrevar.rolloverchuck.IActivityRequestHandler.java
com.igorcrevar.rolloverchuck.ISceneManager.java
com.igorcrevar.rolloverchuck.IScene.java
com.igorcrevar.rolloverchuck.mesh.CubeMeshWithNormals.java
com.igorcrevar.rolloverchuck.mesh.CubeMesh.java
com.igorcrevar.rolloverchuck.mesh.FieldMesh.java
com.igorcrevar.rolloverchuck.mesh.IMesh.java
com.igorcrevar.rolloverchuck.mesh.SphereMesh.java
com.igorcrevar.rolloverchuck.objects.BoxObject.java
com.igorcrevar.rolloverchuck.objects.ChuckObject.java
com.igorcrevar.rolloverchuck.objects.ChuckSpriteObject.java
com.igorcrevar.rolloverchuck.objects.EndGameButtonsObject.java
com.igorcrevar.rolloverchuck.objects.FieldObject.java
com.igorcrevar.rolloverchuck.objects.GameButton.java
com.igorcrevar.rolloverchuck.objects.IntroSceneButtonsObject.java
com.igorcrevar.rolloverchuck.objects.MainWallObject.java
com.igorcrevar.rolloverchuck.objects.StarsObject.java
com.igorcrevar.rolloverchuck.objects.TextButton.java
com.igorcrevar.rolloverchuck.objects.TrailObject.java
com.igorcrevar.rolloverchuck.objects.boxes.BoxManager.java
com.igorcrevar.rolloverchuck.objects.boxes.BoxRegionManager.java
com.igorcrevar.rolloverchuck.objects.boxes.BoxRegion.java
com.igorcrevar.rolloverchuck.objects.boxes.BoxTypeFactory.java
com.igorcrevar.rolloverchuck.objects.boxes.IBoxRegion.java
com.igorcrevar.rolloverchuck.objects.boxes.IBoxType.java
com.igorcrevar.rolloverchuck.physics.CollisionSolver.java
com.igorcrevar.rolloverchuck.physics.ICollisionIterationHandler.java
com.igorcrevar.rolloverchuck.physics.SphereMoving.java
com.igorcrevar.rolloverchuck.points.PlayerPoint.java
com.igorcrevar.rolloverchuck.points.PointsManager.java
com.igorcrevar.rolloverchuck.scenes.GameLoadingScene.java
com.igorcrevar.rolloverchuck.scenes.GameScene.java
com.igorcrevar.rolloverchuck.scenes.IntroScene.java
com.igorcrevar.rolloverchuck.scenes.GameMode.ArcadeGameMode.java
com.igorcrevar.rolloverchuck.scenes.GameMode.IGameMode.java
com.igorcrevar.rolloverchuck.scenes.GameMode.StressFreeGameMode.java
com.igorcrevar.rolloverchuck.utils.CollisionHelper.java
com.igorcrevar.rolloverchuck.utils.GameHelper.java
com.igorcrevar.rolloverchuck.utils.IMyFontDrawerFont.java
com.igorcrevar.rolloverchuck.utils.Mathf.java
com.igorcrevar.rolloverchuck.utils.MyFontDrawerBatch.java
com.igorcrevar.rolloverchuck.utils.MyFontDrawerDefaultFont.java
com.igorcrevar.rolloverchuck.utils.MyFontDrawer.java
com.igorcrevar.rolloverchuck.utils.ShaderAssetLoader.java
com.wayilookatgames.rolloverball.MainActivity.java