예제 #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;
  }
예제 #2
0
  /**
   * 建造ドックの投入資源を削除します
   *
   * @param dock ドック
   * @throws IOException IOException
   */
  public static void remove(String dock) throws IOException {
    if (mapBean != null) {
      mapBean.getKdockMap().remove(dock);
    }

    BeanUtils.writeObject(AppConstants.KDOCK_CONFIG_FILE, mapBean);
  }
예제 #3
0
 /** 設定ファイルに書き込みます */
 public static void store() throws IOException {
   if (Holder.instance == null) {
     return;
   }
   // 最終更新日時がファイル更新日時より新しい時だけ書き込む
   if (modified) {
     ApplicationMain.sysPrint("マスターファイル更新");
     BeanUtils.writeObject(AppConstants.MASTER_DATA_CONFIG, Holder.instance);
     modified = false;
   }
 }
예제 #4
0
 private static void load() {
   try {
     MasterData masterData =
         BeanUtils.readObject(AppConstants.MASTER_DATA_CONFIG, MasterData.class);
     if ((masterData != null) && (masterData.getVersion() >= 2)) {
       Holder.instance = masterData;
     }
   } catch (Exception e) {
     LOG.get().warn("艦娘のIDと名前の紐付けを設定ファイルから読み込みますに失敗しました", e);
   }
   if (Holder.instance == null) {
     Holder.instance = new MasterData();
   }
 }
예제 #5
0
  /**
   * 建造ドックの投入資源を設定します
   *
   * @param dock ドック
   * @param resource 資源
   * @throws IOException IOException
   */
  public static void store(String dock, ResourceDto resource) throws IOException {
    if (mapBean == null) {
      mapBean = new KdockMapBean();
    }
    KdockBean kdock = new KdockBean();
    kdock.setType(resource.getType());
    kdock.setFuel(resource.getFuel());
    kdock.setAmmo(resource.getAmmo());
    kdock.setMetal(resource.getMetal());
    kdock.setBauxite(resource.getBauxite());
    kdock.setResearchMaterials(resource.getResearchMaterials());
    kdock.setShipId(resource.getSecretary().getId());
    kdock.setHqLevel(resource.getHqLevel());
    kdock.setFreeDock(resource.getFreeDock());
    mapBean.getKdockMap().put(dock, kdock);

    BeanUtils.writeObject(AppConstants.KDOCK_CONFIG_FILE, mapBean);
  }