evil-inside/src/ei/game/scene/weapons/BomberWeapon.java

56 lines
1.3 KiB
Java
Raw Normal View History

2007-04-18 16:09:20 +00:00
package ei.game.scene.weapons;
import ei.engine.effects.Particles;
import ei.engine.math.Vector2f;
2007-04-18 17:13:29 +00:00
import ei.engine.math.Vector2i;
import ei.game.gamestate.InGameState;
import ei.game.scene.Map;
2007-04-18 16:09:20 +00:00
public class BomberWeapon extends Weapon{
2007-04-18 17:13:29 +00:00
private Particles part;
private boolean hit;
private Vector2i position;
2007-04-18 16:09:20 +00:00
public BomberWeapon(Vector2f startPos) {
super(startPos);
setVelocity(4);
setRange(100);
setDamage(10);
2007-04-18 17:13:29 +00:00
hit = false;
position = Map.getPosByPixel(startPos.getX(), startPos.getY());
2007-04-18 16:09:20 +00:00
}
public Particles getWeapon() {
2007-04-18 17:13:29 +00:00
part = new Particles("bomber");
2007-04-18 16:09:20 +00:00
part = new Particles("weapon");
2007-04-18 17:13:29 +00:00
part.MaxSpeedX=700;
part.MaxSpeedY=700;
part.MaxSpeedZ=0;
part.slowdown = 1;
2007-04-18 16:09:20 +00:00
part.rainbow = false;
2007-04-18 17:13:29 +00:00
part.regenerate = false;
part.size=20;
2007-04-18 16:09:20 +00:00
return part;
}
public void update() {
2007-04-18 17:13:29 +00:00
if(!hit) {
2007-04-18 17:16:00 +00:00
for(int i=position.getX()-1; i<position.getX()+1; i++ ) {
for(int j=position.getY()-1; j<position.getY()+1; j++) {
2007-04-18 17:13:29 +00:00
System.out.println("i :"+i+" j: "+j);
if(InGameState.getMap().posExist(i, j)&& !InGameState.getMap().isPosEmpty(i, j)) {
System.out.println("Damaged");
InGameState.getMap().getPos(i, j).damaged(getDamage());
}
}
}
hit = true;
}
if(part.isDead()) {
WeaponHandler.getInstance().removeWeapon(this);
}
2007-04-18 16:09:20 +00:00
}
}