package org.tjuscs.bulletgame.model.player;
import java.util.List;
import org.tjuscs.bulletgame.model.BaseObject;
import org.tjuscs.bulletgame.model.Bubble;
import org.tjuscs.bulletgame.model.GameModel;
import org.tjuscs.bulletgame.model.PlayerBulletTrail;
import org.tjuscs.bulletgame.util.GameUtil;
import org.tjuscs.bulletgame.view.component.AudioPlayer;
import org.tjuscs.bulletgame.view.component.Renderer;
import com.badlogic.gdx.Gdx;
public class ReimuSp extends PlayerBulletTrail {
public ReimuSp(String img, double x, double y, double v, double angle,
BaseObject target, double trail, double dmg) {
this.init(img, x, y, v, angle, target, trail, dmg);
}
@Override
public void init(String img, double x, double y, double v, double angle,
BaseObject target, double trail, double dmg) {
super.init(img, x, y, v, angle, target, trail, dmg);
this.setA(32);
this.setB(32);
}
@Override
public void kill() {
AudioPlayer.getInstance().PlaySound("explode", 0.3);
List<BaseObject> objList = GameModel.getInstance().getObjList();
objList.add(new Bubble("parimg12", this.getX(), this.getY(), 30, 4, 6,
GameUtil.LAYER_ENEMY_BULLET_EF));
for (int i = 1; i <= 16; i++) {
objList.add(new ReimuSpEffect(16, 16, this.getX(), this.getY(), 3,
360 / 16.0 * i, 1, 2, 300));
}
}
@Override
public void frame() {
if (target == null || !GameUtil.IsValid(target) || !target.isColli()) {
target = GameModel.getInstance().getPlayer().getTarget();
}
super.frame();
}
@Override
public void render() {
Renderer.getInstance().RenderParticle(this.getImg(),
Gdx.graphics.getDeltaTime(), this.getX(), this.getY(), 0);
}
}