Example #1
0
  /**
   * 建造ドックの投入資源を取得します
   *
   * @param dock ドック
   * @return 建造ドックの投入資源
   */
  @CheckForNull
  public static ResourceDto load(String dock) {
    try {
      if (mapBean == null) {
        mapBean = BeanUtils.readObject(AppConstants.KDOCK_CONFIG_FILE, KdockMapBean.class);
      }
      if (mapBean != null) {
        KdockBean kdock = mapBean.getKdockMap().get(dock);

        if (kdock == null) {
          return null;
        }

        Map<Long, ShipDto> ships = ShipContext.get();
        if (!ships.isEmpty() && ships.containsKey(kdock.getShipId())) {
          ResourceDto resource =
              new ResourceDto(
                  kdock.getType(),
                  kdock.getFuel(),
                  kdock.getAmmo(),
                  kdock.getMetal(),
                  kdock.getBauxite(),
                  kdock.getResearchMaterials(),
                  ships.get(kdock.getShipId()),
                  kdock.getHqLevel());
          resource.setFreeDock(kdock.getFreeDock());
          return resource;
        }
      }
    } catch (Exception e) {
      LoggerHolder.LOG.warn("建造ドックの投入資源を取得しますに失敗しました", e);
    }
    return null;
  }
 /**
  * 戦闘ログ詳細のフェーズの艦船のコンストラクタ
  *
  * @param chara キャラクター
  */
 public BattleDetailPhaseShip(Chara chara) {
   this.chara = chara;
   try {
     FXMLLoader loader = InternalFXMLLoader.load("logbook/gui/battle_detail_phase_ship.fxml");
     loader.setRoot(this);
     loader.setController(this);
     loader.load();
   } catch (IOException e) {
     LoggerHolder.LOG.error("FXMLのロードに失敗しました", e);
   }
 }
  /**
   * 遠征報告書を書き込む
   *
   * @param dto 遠征結果
   */
  public static void storeCreateMissionReport(MissionResultDto dto) {
    try {
      List<MissionResultDto> dtoList = Collections.singletonList(dto);

      Path report = FileUtils.getStoreFile(AppConstants.LOG_MISSION, AppConstants.LOG_MISSION_ALT);

      FileUtils.writeCsvStripFirstColumn(
          report,
          CreateReportLogic.getCreateMissionResultHeader(),
          CreateReportLogic.getMissionResultBody(dtoList),
          true);
    } catch (IOException e) {
      LoggerHolder.LOG.warn("報告書の保存に失敗しました", e);
    }
  }
  /**
   * 資材ログを書き込む
   *
   * @param material 資材
   */
  public static void storeMaterialReport(MaterialDto material) {
    try {
      List<MaterialDto> dtoList = Collections.singletonList(material);

      Path report =
          FileUtils.getStoreFile(AppConstants.LOG_RESOURCE, AppConstants.LOG_RESOURCE_ALT);

      FileUtils.writeCsvStripFirstColumn(
          report,
          CreateReportLogic.getMaterialHeader(),
          CreateReportLogic.getMaterialStoreBody(dtoList),
          true);
    } catch (IOException e) {
      LoggerHolder.LOG.warn("報告書の保存に失敗しました", e);
    }
  }
  /**
   * 開発報告書を書き込む
   *
   * @param dto 開発報告
   */
  public static void storeCreateItemReport(CreateItemDto dto) {
    try {
      List<CreateItemDto> dtoList = Collections.singletonList(dto);

      Path report =
          FileUtils.getStoreFile(AppConstants.LOG_CREATE_ITEM, AppConstants.LOG_CREATE_ITEM_ALT);

      FileUtils.writeCsvStripFirstColumn(
          report,
          CreateReportLogic.getCreateItemHeader(),
          CreateReportLogic.getCreateItemBody(dtoList),
          true);
    } catch (IOException e) {
      LoggerHolder.LOG.warn("報告書の保存に失敗しました", e);
    }
  }
  /**
   * 海戦・ドロップ報告書を書き込む
   *
   * @param dto 海戦・ドロップ報告
   */
  public static void storeBattleResultReport(BattleResultDto dto) {
    try {
      List<BattleResultDto> dtoList = Collections.singletonList(dto);

      Path report =
          FileUtils.getStoreFile(
              AppConstants.LOG_BATTLE_RESULT, AppConstants.LOG_BATTLE_RESULT_ALT);

      FileUtils.writeCsvStripFirstColumn(
          report,
          CreateReportLogic.getBattleResultStoreHeader(),
          CreateReportLogic.getBattleResultStoreBody(dtoList),
          true);
    } catch (IOException e) {
      LoggerHolder.LOG.warn("報告書の保存に失敗しました", e);
    }
  }