예제 #1
0
 public Tower(BaseTower baseTower, BaseRace race, float x, float y) {
   this.baseTower = baseTower;
   this.x = x;
   this.y = y;
   this.race = new Race(race, baseTower.getRaces());
   cooldown = 0;
   health = baseTower.getHealth();
   this.id = IDGenerator.getNextID();
 }
예제 #2
0
 public String getName() {
   return baseTower.getName();
 }
예제 #3
0
 public boolean instantAttack() {
   return baseTower.attacksInstantly();
 }
예제 #4
0
 public boolean attacksAllInRange() {
   return baseTower.attacksAllInRange();
 }
예제 #5
0
 public int getTotalUpgradeCount() {
   return baseTower.getTotalUpgradeCount();
 }
예제 #6
0
 public int getLevel() {
   return baseTower.getLevel();
 }
예제 #7
0
 public float getPower() {
   return baseTower.getPower();
 }
예제 #8
0
 public float getDefense() {
   return baseTower.getDefense() * race.getTowerDefenseModifier();
 }
예제 #9
0
 @Override
 public String getModel() {
   return baseTower.getName();
 }
예제 #10
0
 public void shot() {
   cooldown = baseTower.getAttackRate();
 }
예제 #11
0
 public float getSellValue() {
   return baseTower.getCost() / 2;
 }
예제 #12
0
 public boolean attacksOnlyGround() {
   return !baseTower.attacksAir() && baseTower.attacksGround();
 }
예제 #13
0
 public float getCost() {
   return baseTower.getCost();
 }
예제 #14
0
 public boolean attacksAir() {
   return baseTower.attacksAir();
 }
예제 #15
0
 public boolean attacksGround() {
   return baseTower.attacksGround();
 }
예제 #16
0
 public float getDamage() {
   return baseTower.getDamage() * race.getTowerDamageModifier();
 }
예제 #17
0
 public float getFireRate() {
   return baseTower.getAttackRate() * race.getTowerAttackRateModifier();
 }
예제 #18
0
 public float getAttackRange() {
   return baseTower.getAttackRange();
 }