コード例 #1
0
ファイル: HackerScreen.java プロジェクト: bjasspa/Alite
  private void initializeState(Alite alite) {
    state = new HackerState();
    Player player = alite.getPlayer();
    GalaxyGenerator generator = alite.getGenerator();
    PlayerCobra cobra = alite.getCobra();

    state.setCommanderName(player.getName());
    state.setGalaxyNumber(generator.getCurrentGalaxy());
    state.setGalaxySeed(17, generator.getCurrentSeed());
    state.setCurrentSystem(
        player.getCurrentSystem() == null ? 0 : player.getCurrentSystem().getIndex());
    state.setHyperspaceSystem(
        player.getHyperspaceSystem() == null ? 0 : player.getHyperspaceSystem().getIndex());
    state.setFuel(cobra.getFuel());
    state.setCredits(player.getCash());
    state.setRating(player.getRating().ordinal());
    state.setLegalStatus(player.getLegalStatus().ordinal());
    state.setGameTime(alite.getGameTime() / 1000000);
    state.setScore(player.getScore());
    state.setNumberOfMissiles(cobra.getMissiles());
    state.setExtraEnergyUnit(
        cobra.isEquipmentInstalled(EquipmentStore.extraEnergyUnit)
            ? 1
            : cobra.isEquipmentInstalled(EquipmentStore.navalEnergyUnit) ? 2 : 0);
    state.setLargeCargoBay(cobra.isEquipmentInstalled(EquipmentStore.largeCargoBay));
    state.setECM(cobra.isEquipmentInstalled(EquipmentStore.ecmSystem));
    state.setFuelScoop(cobra.isEquipmentInstalled(EquipmentStore.fuelScoop));
    state.setEscapeCapsule(cobra.isEquipmentInstalled(EquipmentStore.escapeCapsule));
    state.setEnergyBomb(cobra.isEquipmentInstalled(EquipmentStore.energyBomb));
    state.setDockingComputer(cobra.isEquipmentInstalled(EquipmentStore.dockingComputer));
    state.setGalacticHyperdrive(cobra.isEquipmentInstalled(EquipmentStore.galacticHyperdrive));
    state.setRetroRockets(cobra.isEquipmentInstalled(EquipmentStore.retroRockets));
    state.setPulseLaser(getLaserValue(cobra, EquipmentStore.pulseLaser));
    state.setBeamLaser(getLaserValue(cobra, EquipmentStore.beamLaser));
    state.setMiningLaser(getLaserValue(cobra, EquipmentStore.miningLaser));
    state.setMilitaryLaser(getLaserValue(cobra, EquipmentStore.militaryLaser));
    state.setCloakingDevice(cobra.isEquipmentInstalled(EquipmentStore.cloakingDevice));
    state.setECMJammer(cobra.isEquipmentInstalled(EquipmentStore.ecmJammer));
    InventoryItem[] inventory = cobra.getInventory();
    state.setFood(inventory[0].getWeight().getWeightInGrams());
    state.setTextiles(inventory[1].getWeight().getWeightInGrams());
    state.setRadioactives(inventory[2].getWeight().getWeightInGrams());
    state.setSlaves(inventory[3].getWeight().getWeightInGrams());
    state.setLiquorWines(inventory[4].getWeight().getWeightInGrams());
    state.setLuxuries(inventory[5].getWeight().getWeightInGrams());
    state.setNarcotics(inventory[6].getWeight().getWeightInGrams());
    state.setComputers(inventory[7].getWeight().getWeightInGrams());
    state.setMachinery(inventory[8].getWeight().getWeightInGrams());
    state.setAlloys(inventory[9].getWeight().getWeightInGrams());
    state.setFirearms(inventory[10].getWeight().getWeightInGrams());
    state.setFurs(inventory[11].getWeight().getWeightInGrams());
    state.setMinerals(inventory[12].getWeight().getWeightInGrams());
    state.setGold(inventory[13].getWeight().getWeightInGrams());
    state.setPlatinum(inventory[14].getWeight().getWeightInGrams());
    state.setGemStones(inventory[15].getWeight().getWeightInGrams());
    state.setAlienItems(inventory[16].getWeight().getWeightInGrams());
    state.setMedicalSupplies(inventory[17].getWeight().getWeightInGrams());
    state.setHyperspaceJumpCounter(player.getJumpCounter());
    state.setIntergalacticJumpCounter(player.getIntergalacticJumpCounter());
    if (!player.getActiveMissions().isEmpty()) {
      state.setActiveMissionIndex(player.getActiveMissions().get(0).getId());
      // TODO add mission state, target, galaxy seed
    }
  }