package logbook.dto;
import java.util.Calendar;
import java.util.Date;
/**
* 建造した艦娘を表します
*/
public final class GetShipDto extends AbstractDto {
/** 日付 */
private final Date getDate;
/** 種類(大型艦建造:1, 通常艦建造:0) */
private final boolean oogata;
/** 建造した艦娘 */
private String name;
private int shipId;
private String type;
/** 投入資源 */
private final ResourceItemDto resources;
/** 秘書艦 */
private final String secretly;
private final int secretlyId;
/** 司令部Lv */
private final int hqLevel;
/** 空きドック */
private int freeDock;
/**
* コンストラクター
*
* @param object 艦娘情報
* @param resources 投入資源
*/
public GetShipDto(boolean oogata, ResourceItemDto resources, ShipDto secretly, int hqLevel,
int freeDock) {
this.getDate = Calendar.getInstance().getTime();
this.oogata = oogata;
this.name = null;
this.shipId = -1;
this.type = null;
this.resources = resources;
this.secretly = secretly.getFriendlyName();
this.secretlyId = secretly.getId();
this.hqLevel = hqLevel;
this.freeDock = freeDock;
}
public GetShipDto(Date date, String buildType, String name, String type, ResourceItemDto resources,
String secretly, int hqLevel, int freeDock) {
this.getDate = date;
this.oogata = buildType.startsWith("大型");
this.name = name;
this.shipId = -1;
this.type = type;
this.resources = resources;
this.secretly = secretly;
this.secretlyId = -1;
this.hqLevel = hqLevel;
this.freeDock = freeDock;
}
/**
* @return 建造日時
*/
public Date getGetDate() {
return this.getDate;
}
public void setShip(ShipInfoDto ship) {
if (ship != null) {
this.name = ship.getName();
this.shipId = ship.getShipId();
this.type = ship.getType();
}
}
/**
* @return oogata
*/
public boolean isOogata() {
return this.oogata;
}
/**
* @return 名前
*/
public String getName() {
return this.name;
}
/**
* @return shipId
*/
public int getShipId() {
return this.shipId;
}
/**
* @return 艦種
*/
public String getType() {
return this.type;
}
/**
* @return 建造種類
*/
public String getBuildType() {
if (this.oogata) {
return "大型艦建造";
}
return "通常艦建造";
}
/**
* @return 燃料
*/
public int getFuel() {
return this.resources.getFuel();
}
/**
* @return 弾薬
*/
public int getAmmo() {
return this.resources.getAmmo();
}
/**
* @return 鋼材
*/
public int getMetal() {
return this.resources.getMetal();
}
/**
* @return ボーキサイト
*/
public int getBauxite() {
return this.resources.getBauxite();
}
/**
* @return 開発資材
*/
public Integer getResearchMaterials() {
return this.resources.getResearch();
}
/**
* @return 空きドック
*/
public int getFreeDock() {
return this.freeDock;
}
/**
* @param freeDock 空きドック
*/
public void setFreeDock(int freeDock) {
this.freeDock = freeDock;
}
/**
* @return 秘書艦
*/
public String getSecretary() {
return this.secretly;
}
/**
* @return secretlyId
*/
public int getSecretlyId() {
return this.secretlyId;
}
/**
* @return 司令部Lv
*/
public int getHqLevel() {
return this.hqLevel;
}
}