Newer
Older
Cactus-CleanArchitecture / app / src / main / java / org / ntlab / radishforandroidstudio / cactusClient / models / bullet / Bullet.java
package org.ntlab.radishforandroidstudio.cactusClient.models.bullet;

import net.arnx.jsonic.JSONHint;

import org.ntlab.radishforandroidstudio.cactusClient.models.state.Entity;
import org.ntlab.radishforandroidstudio.framework.model3D.Position3D;
import org.ntlab.radishforandroidstudio.framework.model3D.Quaternion3D;

public class Bullet extends Entity {
    private String playerID;
    private Position3D position;
    private Quaternion3D angle;
    private boolean isAlive = true;

    public Bullet() {
        // JSONエンコード時の呼び出し用
    }

    public Bullet(String playerID, Position3D position, Quaternion3D angle) {
        setPlayerID(playerID);
        setPosition(position);
        setAngle(angle);
    }

    public String getPlayerID() {
        return playerID;
    }

    public Position3D getPosition() {
        return position;
    }

    public Quaternion3D getAngle() {
        return angle;
    }

    @JSONHint(ignore = true)
    public boolean isAlive() {
        return isAlive;
    }

    public void setPlayerID(String playerID) {
        this.playerID = playerID;
    }

    public void setPosition(Position3D position) {
        this.position = position;
    }

    public void setAngle(Quaternion3D angle) {
        this.angle = angle;
    }

    @JSONHint(ignore = true)
    public void setAlive(boolean isAlive) {
        this.isAlive = isAlive;
    }

    public void update(Position3D position, Quaternion3D angle) {
        setPosition(position);
        setAngle(angle);
    }
}