/** * 建造ドックの投入資源を取得します * * @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 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); }