⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 firingdisplay.java

📁 MegaMek is a networked Java clone of BattleTech, a turn-based sci-fi boardgame for 2+ players. Fight
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
        }    }        //    // GameListener    //    public void gameTurnChange(GameTurnChangeEvent e) {        // Are we ignoring events?        if ( this.isIgnoringEvents() ) {            return;        }        if(client.game.getPhase() == IGame.PHASE_FIRING) {            endMyTurn();                        if(client.isMyTurn()) {                beginMyTurn();                setStatusBarText(Messages.getString("FiringDisplay.its_your_turn")); //$NON-NLS-1$            } else {                                setStatusBarText(Messages.getString("FiringDisplay.its_others_turn", new Object[]{e.getPlayer().getName()})); //$NON-NLS-1$            }        }    }    public void gamePhaseChange(GamePhaseChangeEvent e) {        // Are we ignoring events?        if ( this.isIgnoringEvents() ) {            return;        }        if(client.isMyTurn() && client.game.getPhase() != IGame.PHASE_FIRING) {            endMyTurn();        }        // if we're ending the firing phase, unregister stuff.        if(client.game.getPhase() ==  IGame.PHASE_FIRING) {            setStatusBarText(Messages.getString("FiringDisplay.waitingForFiringPhase")); //$NON-NLS-1$        }    }    //    // ActionListener    //    public void actionPerformed(ActionEvent ev) {        // Are we ignoring events?        if ( this.isIgnoringEvents() ) {            return;        }        if ( statusBarActionPerformed(ev, client) )          return;                  if (!client.isMyTurn()) {            return;        }                if (ev.getSource() == butDone) {            ready();        } else if (ev.getActionCommand().equalsIgnoreCase("viewGameOptions")) { //$NON-NLS-1$            // Make sure the game options dialog is not editable.            if ( clientgui.getGameOptionsDialog().isEditable() ) {                clientgui.getGameOptionsDialog().setEditable( false );            }            // Display the game options dialog.            clientgui.getGameOptionsDialog().update(client.game.getOptions());            clientgui.getGameOptionsDialog().setVisible(true);        } else if (ev.getActionCommand().equals(FIRE_FIRE)) {            fire();        } else if (ev.getActionCommand().equals(FIRE_SKIP)) {            nextWeapon();        } else if (ev.getActionCommand().equals(FIRE_TWIST)) {            twisting = true;        } else if (ev.getActionCommand().equals(FIRE_NEXT)) {            selectEntity(client.getNextEntityNum(cen));        } else if (ev.getActionCommand().equals(FIRE_MORE)) {            buttonLayout++;            buttonLayout %= NUM_BUTTON_LAYOUTS;            setupButtonPanel();        } else if (ev.getActionCommand().equals(FIRE_FIND_CLUB)) {            findClub();        } else if (ev.getActionCommand().equals(FIRE_SPOT)) {            doSpot();        } else if (ev.getActionCommand().equals(FIRE_NEXT_TARG)) {            jumpToNextTarget();        } else if (ev.getActionCommand().equals(FIRE_FLIP_ARMS)) {            updateFlipArms(!ce().getArmsFlipped());        // Fire Mode - More Fire Mode button handling - Rasia        } else if (ev.getActionCommand().equals(FIRE_MODE)) {            changeMode();        } else if ((ev.getActionCommand().equalsIgnoreCase("changeSinks"))                || (ev.getActionCommand().equals(FIRE_CANCEL))) {            clearAttacks();            clientgui.getBoardView().select(null);            clientgui.getBoardView().cursor(null);            refreshAll();        } else if (ev.getActionCommand().equals(FIRE_SEARCHLIGHT)) {            doSearchlight();        }    }        private void updateFlipArms(boolean armsFlipped) {        if (armsFlipped == ce().getArmsFlipped()) {            return;        }              twisting = false;      torsoTwist(null);            clearAttacks();      ce().setArmsFlipped(armsFlipped);      attacks.addElement(new FlipArmsAction(cen, armsFlipped));      updateTarget();      refreshAll();    }        private void updateSearchlight() {        setSearchlightEnabled(ce() != null                && target != null                && ce().isUsingSpotlight()                 && ce().getCrew().isActive()                && SearchlightAttackAction.isPossible(client.game, cen, target,null));    }    private void setFireEnabled(boolean enabled) {        butFire.setEnabled(enabled);        clientgui.getMenuBar().setFireFireEnabled(enabled);    }    private void setTwistEnabled(boolean enabled) {        butTwist.setEnabled(enabled);        clientgui.getMenuBar().setFireTwistEnabled(enabled);    }    private void setSkipEnabled(boolean enabled) {        butSkip.setEnabled(enabled);        clientgui.getMenuBar().setFireSkipEnabled(enabled);    }    private void setFindClubEnabled(boolean enabled) {        butFindClub.setEnabled(enabled);        clientgui.getMenuBar().setFireFindClubEnabled(enabled);    }    private void setNextTargetEnabled(boolean enabled) {        butNextTarg.setEnabled(enabled);        clientgui.getMenuBar().setFireNextTargetEnabled(enabled);    }    private void setFlipArmsEnabled(boolean enabled) {        butFlipArms.setEnabled(enabled);        clientgui.getMenuBar().setFireFlipArmsEnabled(enabled);    }    private void setSpotEnabled(boolean enabled) {        butSpot.setEnabled(enabled);        clientgui.getMenuBar().setFireSpotEnabled(enabled);    }    private void setSearchlightEnabled(boolean enabled) {        butSearchlight.setEnabled(enabled);        clientgui.getMenuBar().setFireSearchlightEnabled(enabled);    }    private void setFireModeEnabled(boolean enabled) {        butFireMode.setEnabled(enabled);        clientgui.getMenuBar().setFireModeEnabled(enabled);    }    private void setNextEnabled(boolean enabled) {        butNext.setEnabled(enabled);        clientgui.getMenuBar().setFireNextEnabled(enabled);    }        //    // KeyListener    //    public void keyPressed(KeyEvent ev) {        // Are we ignoring events?        if ( this.isIgnoringEvents() ) {            return;        }        if (ev.getKeyCode() == KeyEvent.VK_ESCAPE) {            clearAttacks();            clientgui.getBoardView().select(null);            clientgui.getBoardView().cursor(null);            refreshAll();        }        if (ev.getKeyCode() == KeyEvent.VK_ENTER && ev.isControlDown()) {            if (client.isMyTurn()) {                //            }        }        if (ev.getKeyCode() == KeyEvent.VK_BACK_SPACE) {            if (client.isMyTurn()) {                removeLastFiring();            }        }        if (ev.getKeyCode() == KeyEvent.VK_SHIFT && !shiftheld) {            shiftheld = true;            if (client.isMyTurn() && clientgui.getBoardView().getLastCursor() != null) {                updateFlipArms(false);                torsoTwist(clientgui.getBoardView().getLastCursor());            }        }        if (ev.getKeyCode() == KeyEvent.VK_LEFT && shiftheld) {            updateFlipArms(false);            torsoTwist(0);        }        if (ev.getKeyCode() == KeyEvent.VK_RIGHT && shiftheld) {            updateFlipArms(false);            torsoTwist(1);        }/*        if (ev.getKeyCode() == KeyEvent.VK_M) {            changeMode();         }*/  }    public void keyReleased(KeyEvent ev) {        // Are we ignoring events?        if ( this.isIgnoringEvents() ) {            return;        }        if (ev.getKeyCode() == KeyEvent.VK_SHIFT && shiftheld) {            shiftheld = false;        }    }    public void keyTyped(KeyEvent ev) {    }        //    // ItemListener    //    public void itemStateChanged(ItemEvent ev) {        // Are we ignoring events?        if ( this.isIgnoringEvents() ) {            return;        }        if(ev.getItemSelectable() == clientgui.mechD.wPan.weaponList) {            // update target data in weapon display            updateTarget();        }    }        // board view listener     public void finishedMovingUnits(BoardViewEvent b) {        // Are we ignoring events?        if ( this.isIgnoringEvents() ) {            return;        }        if (client.isMyTurn() && ce() != null) {            clientgui.setDisplayVisible(true);            clientgui.bv.centerOnHex(ce().getPosition());        }    }    public void unitSelected(BoardViewEvent b) {        // Are we ignoring events?        if ( this.isIgnoringEvents() ) {            return;        }        Entity e = client.game.getEntity(b.getEntityId());        if (client.isMyTurn()) {            if ( client.game.getTurn().isValidEntity(e,client.game) ) {                selectEntity(e.getId());            }        } else {            clientgui.setDisplayVisible(true);            clientgui.mechD.displayEntity(e);            if (e.isDeployed()) {                clientgui.bv.centerOnHex(e.getPosition());            }        }    }  private class AimedShotHandler implements ActionListener, ItemListener {      private int aimingAt = Entity.LOC_NONE;    private int aimingMode = IAimingModes.AIM_MODE_NONE;    private int partialCover = LosEffects.COVER_NONE;    private boolean lockedLocation = false;    private int lockedLoc = Entity.LOC_NONE;    private Targetable lockedTarget = null;    private AimedShotDialog asd;    public AimedShotHandler() {    }    public void showDialog() {      if (asd != null) {        int oldAimingMode = aimingMode;        closeDialog();        aimingMode = oldAimingMode;      }      if (inAimingMode()) {        String[] options;        boolean[] enabled;        if (target instanceof Mech) {            if (target instanceof BipedMech) {                options = BipedMech.LOCATION_NAMES;                enabled = createEnabledMask(options.length);            } else {                options = QuadMech.LOCATION_NAMES;                enabled = createEnabledMask(options.length);            }            if (aimingMode == IAimingModes.AIM_MODE_IMMOBILE) {                aimingAt = Mech.LOC_HEAD;            } else if (aimingMode == IAimingModes.AIM_MODE_TARG_COMP) {                aimingAt = Mech.LOC_CT;            }        } else if (target instanceof GunEmplacement) {            options = GunEmplacement.HIT_LOCATION_NAMES;            enabled = new boolean[] { true,                                      ((GunEmplacement) target).hasTurret() };            aimingAt = GunEmplacement.LOC_BUILDING;        } else {            return;        }                if (lockedLocation) {          aimingAt = lockedLoc;        }        asd = new AimedShotDialog(clientgui.frame,                      Messages.getString("FiringDisplay.AimedShotDialog.title"), //$NON-NLS-1$                      Messages.getString("FiringDisplay.AimedShotDialog.message"), //$NON-NLS-1$                      options,                      enabled,                      aimingAt,                      lockedLocation,                      this,                      this);        asd.setVisible(true);        updateTarget();      }    }    private boolean[] createEnabledMask(int length) {      boolean[] mask = new boolean[length];      for (int i = 0; i < length; i++) {        mask[i] = true;      }      int side = Compute.targetSideTable(ce(), target);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -