Android Open Source - DivisionByZero Player






From Project

Back to project page DivisionByZero.

License

The source code is released under:

Apache License

If you think the Android project DivisionByZero 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.ggstudios.divisionbyzero;
//from  w ww  . j  a va  2 s .c  om
public class Player {
  private int lives = 0;
  private int gold = 0;
  
  private int kills = 0;
  private int moneyEarned = 0;
  
  public interface OnLivesChangedListener {
    public void onLivesChanged(int lives);
  }
  
  public interface OnGoldChangedListener {
    public void onGoldChanged(int gold);
  }
  
  private boolean listenerSet = false;
  private OnLivesChangedListener livesListener;
  private OnGoldChangedListener goldListener;
  
  public Player(int startingLives, int startingGold) {
    lives = startingLives;
    gold = startingGold;
  }
  
  public void setLives(int lives){
    if(this.lives != lives) {
      this.lives = lives;
      if(listenerSet) {
        livesListener.onLivesChanged(lives);
      }
    }
  }
  
  public void setGold(int gold) {
    if(this.gold != gold) {
      this.gold = gold;
      if(listenerSet) {
        goldListener.onGoldChanged(gold);
      }
    }
  }
  
  public void setListeners(OnLivesChangedListener livesListener,
      OnGoldChangedListener goldListener) {
    this.livesListener = livesListener;
    this.goldListener = goldListener;
    
    livesListener.onLivesChanged(lives);
    goldListener.onGoldChanged(gold);
    
    listenerSet = true;
  }
  
  public void decrementLives() {
    lives--;
    
    if(listenerSet) {
      livesListener.onLivesChanged(lives);
    }
  }

  public void deductGold(int cost) {
    gold -= cost;
    
    if(cost != 0 && listenerSet) {
      goldListener.onGoldChanged(gold);
    }
  }

  public int getGold() {
    return gold;
  }

  public void awardGold(int amount) {
    this.gold += amount;
    
    moneyEarned += amount;
    
    if(amount != 0 && listenerSet) {
      goldListener.onGoldChanged(gold);
    }
  }
  
  public void incrementKill() {
    kills++;
  }
  
  public PlayerSnapshot getSnapshot() {
    PlayerSnapshot snapshot = new PlayerSnapshot();
    snapshot.kills = kills;
    snapshot.lives = lives;
    snapshot.moneyEarned = moneyEarned;
    snapshot.gold = gold;
    return snapshot;
  }
  
  public void loadFromSnapshot(PlayerSnapshot snapshot) {
    kills = snapshot.kills;
    lives = snapshot.lives;
    moneyEarned = snapshot.moneyEarned;
    gold = snapshot.gold;
    
    if(listenerSet) {
      goldListener.onGoldChanged(gold);
      livesListener.onLivesChanged(lives);
    }
  }
  
  public static class PlayerSnapshot {
    int gold, lives, kills, moneyEarned;
  }
}




Java Source Code List

com.ggstudios.divisionbyzero.ActivityAbout.java
com.ggstudios.divisionbyzero.ActivityLevelSelection.java
com.ggstudios.divisionbyzero.ActivityMainMenu.java
com.ggstudios.divisionbyzero.ActivitySettings.java
com.ggstudios.divisionbyzero.ActivitySplashScreen.java
com.ggstudios.divisionbyzero.ApplicationMain.java
com.ggstudios.divisionbyzero.BaseActivity.java
com.ggstudios.divisionbyzero.BaseDialog.java
com.ggstudios.divisionbyzero.BulletManager.java
com.ggstudios.divisionbyzero.Bullet.java
com.ggstudios.divisionbyzero.Button.java
com.ggstudios.divisionbyzero.Circle.java
com.ggstudios.divisionbyzero.ClickableCollection.java
com.ggstudios.divisionbyzero.Clickable.java
com.ggstudios.divisionbyzero.ConfirmDialog.java
com.ggstudios.divisionbyzero.Core.java
com.ggstudios.divisionbyzero.CustomGLSurfaceView.java
com.ggstudios.divisionbyzero.DialogManager.java
com.ggstudios.divisionbyzero.DrawableCollection.java
com.ggstudios.divisionbyzero.DrawableString.java
com.ggstudios.divisionbyzero.Drawable.java
com.ggstudios.divisionbyzero.EndDialog.java
com.ggstudios.divisionbyzero.Event.java
com.ggstudios.divisionbyzero.ExplosionGenerator.java
com.ggstudios.divisionbyzero.ExtrasManager.java
com.ggstudios.divisionbyzero.FontManager.java
com.ggstudios.divisionbyzero.GameRenderer.java
com.ggstudios.divisionbyzero.GameUpdater.java
com.ggstudios.divisionbyzero.Game.java
com.ggstudios.divisionbyzero.Grid.java
com.ggstudios.divisionbyzero.Hud.java
com.ggstudios.divisionbyzero.InGameMenu.java
com.ggstudios.divisionbyzero.InfoDialog.java
com.ggstudios.divisionbyzero.Label.java
com.ggstudios.divisionbyzero.LevelManager.java
com.ggstudios.divisionbyzero.LevelMap.java
com.ggstudios.divisionbyzero.LineGuide.java
com.ggstudios.divisionbyzero.MainActivity.java
com.ggstudios.divisionbyzero.Map.java
com.ggstudios.divisionbyzero.MessageDialog.java
com.ggstudios.divisionbyzero.ParticleEngine.java
com.ggstudios.divisionbyzero.PathFinder.java
com.ggstudios.divisionbyzero.PauseMenu.java
com.ggstudios.divisionbyzero.PictureBox.java
com.ggstudios.divisionbyzero.Player.java
com.ggstudios.divisionbyzero.PopupMenu.java
com.ggstudios.divisionbyzero.Rectangle.java
com.ggstudios.divisionbyzero.Shader.java
com.ggstudios.divisionbyzero.SpawnManager.java
com.ggstudios.divisionbyzero.SpriteAnimation.java
com.ggstudios.divisionbyzero.SpriteManager.java
com.ggstudios.divisionbyzero.Sprite.java
com.ggstudios.divisionbyzero.Statbar.java
com.ggstudios.divisionbyzero.StateManager.java
com.ggstudios.divisionbyzero.TargetRectangle.java
com.ggstudios.divisionbyzero.TextureManager.java
com.ggstudios.divisionbyzero.TowerInfoDialog.java
com.ggstudios.divisionbyzero.TowerLibrary.java
com.ggstudios.divisionbyzero.TowerManager.java
com.ggstudios.divisionbyzero.TowerMenu.java
com.ggstudios.divisionbyzero.Tower.java
com.ggstudios.divisionbyzero.UpdatableCollection.java
com.ggstudios.divisionbyzero.Updatable.java
com.ggstudios.divisionbyzero.UpgradeDialog.java
com.ggstudios.divisionbyzero.Utils.java
com.ggstudios.divisionbyzero.VBO.java
com.ggstudios.divisionbyzero.WaveControlDialog.java
com.ggstudios.divisionbyzero.WaveControlHud.java
com.ggstudios.divisionbyzero.ZoomControl.java
com.ggstudios.utils.BitmapUtils.java
com.ggstudios.utils.BufferUtils.java
com.ggstudios.utils.DebugLog.java
com.ggstudios.utils.ShaderUtils.java
com.ggstudios.widget.LevelMapBackground.java
fix.android.opengl.GLES20.java