示例#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();
 }