package org.ntlab.SproutServer.battles;
import framework.model3D.CollisionResult;
import framework.model3D.Object3D;
import framework.model3D.Position3D;
import framework.physics.Solid3D;
import framework.physics.Velocity3D;
import net.arnx.jsonic.JSONHint;
import javax.vecmath.Vector3d;
import java.net.URLDecoder;
/**
* プレイヤーの魔法
*
* @author matsumoto_k
*/
public class Magic extends Weapon {
private static final int attack = 100;
public Magic(Position3D position3D, Vector3d vector3d, Velocity3D velocity3D) {
this.actor = new WeaponActor(new Solid3D(createObject()), null) {
@Override
public void onIntersect(CollisionResult normal, long interval) {
}
};
initWeapon(position3D, vector3d, velocity3D);
}
@Override
Object3D createObject() {
//TODO:弾のオブジェクトを決める
String path = Battles.getInstance().getClass().getResource("pocha.stl").getPath();
try {
path = URLDecoder.decode(path, "utf-8");
} catch (Exception e) {
}
BulletModel bulletModel = new BulletModel(path, null);
return bulletModel.createObject();
}
public Position3D getPosition3d() {
return getActor().getPosition();
}
public Vector3d getVector3d() {
return getActor().getDirection();
}
@Override
long getInitWeaponLife() {
return BattlesConst.BULLET_LIFE_TIME;
}
@Override
@JSONHint(ignore = true)
public int getAttack() {
return attack;
}
}