Android Open Source - Turn-of-War Building






From Project

Back to project page Turn-of-War.

License

The source code is released under:

Apache License

If you think the Android project Turn-of-War 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

/*
 * This file is part of Turn of War which is a fork of Dragon Wars
 * as of 20/11/2013.//w w  w.  j a  v  a 2 s.  c o m
 *
 * Copyright (C) 2013 Ed Woodhouse <edwoodhou@gmail.com>
 *
 * Turn of War is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * Turn of War is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Turn of War. If not, see <http://www.gnu.org/licenses/>.
 */
/* This file is part of Dragon Wars.
 *
 * Dragon Wars is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * Dragon Wars is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Dragon Wars. If not, see <http://www.gnu.org/licenses/>.
 */

package uk.co.fuuzetsu.turnofwar.engine;

import java.util.ArrayList;
import java.util.List;

public final class Building extends DrawableMapObject {

  private final Integer captureWorth;
  private final Integer captureDifficulty;
  Integer remainingCaptureTime;
  private final Double attackBonus, defenseBonus;
  private Player owner = null;
  private Player lastCapturer;
  private final List<Unit> producibleUnits = new ArrayList<Unit>();
  private Position position;

  public Building(final String name, final Integer captureDifficulty,
      final Double attackBonus, final Double defenseBonus,
      final Integer captureWorth, final String spriteLocation,
      final String spriteDir, final String spritePack) {
    super(name, spriteLocation, spriteDir, spritePack);

    this.captureDifficulty = captureDifficulty;
    this.remainingCaptureTime = this.captureDifficulty;

    this.attackBonus = attackBonus;
    this.defenseBonus = defenseBonus;
    this.captureWorth = captureWorth;

    generateInfo();

  }

  public Building(final Building building) {
    super(building.getName(), building.getSpriteLocation(), building
        .getSpriteDir(), building.getSpritePack());

    this.captureDifficulty = building.getCaptureDifficulty();
    this.remainingCaptureTime = this.captureDifficulty;

    this.attackBonus = building.getAttackBonus();
    this.defenseBonus = building.getDefenseBonus();

    this.captureWorth = building.getCaptureWorth();

    this.info = building.info;

  }

  public Boolean canProduceUnits() {
    return !this.producibleUnits.isEmpty();
  }

  public void addProducibleUnit(final Unit unit) {
    this.producibleUnits.add(unit);
    this.generateInfo();
  }

  public List<Unit> getProducibleUnits() {
    return this.producibleUnits;
  }

  @Override
  public String toString() {
    return getName();
  }

  public Player getLastCapturer() {
    return this.lastCapturer;
  }

  public void setLastCapturer(final Player player) {
    this.lastCapturer = player;
  }

  public Integer getCaptureDifficulty() {
    return this.captureDifficulty;
  }

  public Integer getRemainingCaptureTime() {
    return this.remainingCaptureTime;
  }

  public Double getAttackBonus() {
    return this.attackBonus;
  }

  public Double getDefenseBonus() {
    return this.defenseBonus;
  }

  public Boolean hasOwner() {
    return this.owner != null;
  }

  public Player getOwner() {
    return this.owner;
  }

  public void setOwner(final Player player) {
    this.owner = player;
  }

  public Position getPosition() {
    return this.position;
  }

  public void setPosition(final Position pos) {
    this.position = pos;
  }

  public Integer getCaptureWorth() {
    return this.captureWorth;
  }

  @Override
  public String getInfo() {
    String r = getName();

    if (hasOwner()) {
      r += " ~ " + getOwner().getName();
    }

    r += "\n";

    return r + this.info;
  }

  @Override
  public void generateInfo() {
    String r = "";
    this.info = r;

  }
}




Java Source Code List

uk.co.fuuzetsu.turnofwar.DrawingThread.java
uk.co.fuuzetsu.turnofwar.GameActivity.java
uk.co.fuuzetsu.turnofwar.GameView.java
uk.co.fuuzetsu.turnofwar.HelpActivity.java
uk.co.fuuzetsu.turnofwar.IsAiAdapter.java
uk.co.fuuzetsu.turnofwar.MainGyroSplash.java
uk.co.fuuzetsu.turnofwar.MainMenuActivity.java
uk.co.fuuzetsu.turnofwar.MapSelectActivity.java
uk.co.fuuzetsu.turnofwar.MenuActivity.java
uk.co.fuuzetsu.turnofwar.PlayerSelectActivity.java
uk.co.fuuzetsu.turnofwar.Results.java
uk.co.fuuzetsu.turnofwar.StatisticsActivity.java
uk.co.fuuzetsu.turnofwar.engine.BasicMapInfo.java
uk.co.fuuzetsu.turnofwar.engine.BitmapChanger.java
uk.co.fuuzetsu.turnofwar.engine.Building.java
uk.co.fuuzetsu.turnofwar.engine.ColourSwap.java
uk.co.fuuzetsu.turnofwar.engine.DrawableMapObject.java
uk.co.fuuzetsu.turnofwar.engine.FloatPair.java
uk.co.fuuzetsu.turnofwar.engine.FuncEx.java
uk.co.fuuzetsu.turnofwar.engine.Func.java
uk.co.fuuzetsu.turnofwar.engine.GameField.java
uk.co.fuuzetsu.turnofwar.engine.GameFinishedException.java
uk.co.fuuzetsu.turnofwar.engine.GameMap.java
uk.co.fuuzetsu.turnofwar.engine.GameState.java
uk.co.fuuzetsu.turnofwar.engine.InformationState.java
uk.co.fuuzetsu.turnofwar.engine.Logic.java
uk.co.fuuzetsu.turnofwar.engine.MapReader.java
uk.co.fuuzetsu.turnofwar.engine.Pair.java
uk.co.fuuzetsu.turnofwar.engine.PlayerAI.java
uk.co.fuuzetsu.turnofwar.engine.Player.java
uk.co.fuuzetsu.turnofwar.engine.Position.java
uk.co.fuuzetsu.turnofwar.engine.Statistics.java
uk.co.fuuzetsu.turnofwar.engine.Unit.java
uk.co.fuuzetsu.turnofwar.engine.Database.Database.java
uk.co.fuuzetsu.turnofwar.engine.GoalArbitration.AtomicAction.java
uk.co.fuuzetsu.turnofwar.engine.GoalArbitration.AttackAt.java
uk.co.fuuzetsu.turnofwar.engine.GoalArbitration.BuildUnit.java
uk.co.fuuzetsu.turnofwar.engine.GoalArbitration.MoveTo.java
uk.co.fuuzetsu.turnofwar.engine.GoalArbitration.Node.java
uk.co.fuuzetsu.turnofwar.engine.GoalArbitration.StateTree.java