Tower.java :  » UnTagged » towerdefenseplus » com » duckygo » towerdefense » game » sprites » Android Open Source

Android Open Source » UnTagged » towerdefenseplus 
towerdefenseplus » com » duckygo » towerdefense » game » sprites » Tower.java
package com.duckygo.towerdefense.game.sprites;

import android.util.Log;
import android.view.MotionEvent;

import com.duckygo.towerdefense.game.scenes.TowerDefenseScene;

public class Tower extends Sprite2D {

  private int cooldown;
  private int range;
  
  
  public Tower() {
    
    anchor = CENTER;
    
    width = 64;
    height = 64;
    
    range = 150 * 150;
    
    texture = TowerDefenseScene.TOWER_TEX;
  }
  
  

  @Override
  public void update(long time) {
    if (cooldown > 0) {
      cooldown --;
      return;
    }
    
    Unit target = null;
    int closest = range;
    
    for (int i = 0; i < parent.children.size(); i++) {
      Sprite sprite = parent.children.get(i);
      if (!(sprite instanceof Unit)) {
        continue;
      }

      
      Unit unit = (Unit)sprite;
      
      int dist = (int) ((unit.x - x) * (unit.x - x) + (unit.y - y) * (unit.y - y));
      if (dist < closest) {
        closest = dist;
        target = unit;
      }
      
      
    }
    
    
    if (target != null) {
      Log.w("Tower", "Found viking " + target);
      
      cooldown = 100;
      parent.addChild(new Projectile(this, target, 10));
    }
    
  }
  
  
  
  @Override
  public boolean onTouchEvent(MotionEvent event) {
    return super.onTouchEvent(event);
  }
  
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.