📄 armlessmechmapset.java
字号:
WidgetUtils.setAreaColor(areas[i + INT_STRUCTURE_OFFSET], vLabels[i + INT_STRUCTURE_OFFSET], (double)a/(double)a0); } //heat vLabels[19].setValue(Integer.toString(m.heat)); drawHeatControl(m.heat, mtHeat); } private void setAreas(){ areas[Mech.LOC_HEAD] = new PMSimplePolygonArea(head); areas[Mech.LOC_CT] = new PMSimplePolygonArea(centralTorso); areas[Mech.LOC_RT] = new PMSimplePolygonArea(rightTorso); areas[Mech.LOC_LT] = new PMSimplePolygonArea(leftTorso); areas[Mech.LOC_RLEG] = new PMSimplePolygonArea(rightLeg); areas[Mech.LOC_LLEG] = new PMSimplePolygonArea(leftLeg); areas[REAR_AREA_OFFSET + Mech.LOC_CT] = new PMSimplePolygonArea(rearCentralTorso); areas[REAR_AREA_OFFSET + Mech.LOC_RT] = new PMSimplePolygonArea(rearRightTorso); areas[REAR_AREA_OFFSET + Mech.LOC_LT] = new PMSimplePolygonArea(rearLeftTorso); areas[INT_STRUCTURE_OFFSET + Mech.LOC_HEAD] = new PMSimplePolygonArea(intStHead); areas[INT_STRUCTURE_OFFSET + Mech.LOC_CT] = new PMSimplePolygonArea(inStCentralTorso); areas[INT_STRUCTURE_OFFSET + Mech.LOC_RT] = new PMSimplePolygonArea(inStRightTorso); areas[INT_STRUCTURE_OFFSET + Mech.LOC_LT] = new PMSimplePolygonArea(inStLeftTorso); areas[INT_STRUCTURE_OFFSET + Mech.LOC_RLEG] = new PMSimplePolygonArea(inStRightLeg); areas[INT_STRUCTURE_OFFSET + Mech.LOC_LLEG] = new PMSimplePolygonArea(inStLeftLeg); heatImage = comp.createImage(10, 120); drawHeatControl(0); heatHotArea = new PMPicPolygonalArea(heatControl, heatImage); } private void setLabels(){ FontMetrics fm = comp.getFontMetrics(FONT_LABEL); //Labels for Front view labels[Mech.LOC_HEAD] = WidgetUtils.createLabel(Messages.getString("MechMapSet.l_H"), fm, Color.black,62,6); //$NON-NLS-1$ labels[Mech.LOC_LT] = WidgetUtils.createLabel(Messages.getString("MechMapSet.l_LT"), fm, Color.black,41,52); //$NON-NLS-1$ labels[Mech.LOC_CT] = WidgetUtils.createLabel(Messages.getString("MechMapSet.l_CT"), fm, Color.black,62,42); //$NON-NLS-1$ labels[Mech.LOC_RT] = WidgetUtils.createLabel(Messages.getString("MechMapSet.l_RT"), fm, Color.black,84,52); //$NON-NLS-1$ labels[Mech.LOC_LLEG] = WidgetUtils.createLabel(Messages.getString("MechMapSet.l_LL"), fm, Color.black,28,92); //$NON-NLS-1$ labels[Mech.LOC_RLEG] = WidgetUtils.createLabel(Messages.getString("MechMapSet.l_RL"), fm, Color.black,98,92); //$NON-NLS-1$ //Labels for Back view labels[REAR_AREA_OFFSET + Mech.LOC_LT] = WidgetUtils.createLabel(Messages.getString("MechMapSet.l_LT"), fm, Color.black,133,39); //$NON-NLS-1$ labels[REAR_AREA_OFFSET + Mech.LOC_CT] = WidgetUtils.createLabel(Messages.getString("MechMapSet.l_CT"), fm, Color.black,156,25); //$NON-NLS-1$ labels[REAR_AREA_OFFSET + Mech.LOC_RT] = WidgetUtils.createLabel(Messages.getString("MechMapSet.l_RT"), fm, Color.black,178,39); //$NON-NLS-1$ //Labels for Internal Structure labels[INT_STRUCTURE_OFFSET + Mech.LOC_HEAD] = WidgetUtils.createLabel(Messages.getString("MechMapSet.l_H"), fm, Color.black,63,130); //$NON-NLS-1$ labels[INT_STRUCTURE_OFFSET + Mech.LOC_LT] = WidgetUtils.createLabel(Messages.getString("MechMapSet.l_LT"), fm, Color.black,42,166); //$NON-NLS-1$ labels[INT_STRUCTURE_OFFSET + Mech.LOC_CT] = WidgetUtils.createLabel(Messages.getString("MechMapSet.L_CT"), fm, Color.black,63,168); //$NON-NLS-1$ labels[INT_STRUCTURE_OFFSET + Mech.LOC_RT] = WidgetUtils.createLabel(Messages.getString("MechMapSet.l_RT"), fm, Color.black,85,166); //$NON-NLS-1$ labels[INT_STRUCTURE_OFFSET + Mech.LOC_LLEG] = WidgetUtils.createLabel(Messages.getString("MechMapSet.l_LL"), fm, Color.black,33,210); //$NON-NLS-1$ labels[INT_STRUCTURE_OFFSET + Mech.LOC_RLEG] = WidgetUtils.createLabel(Messages.getString("MechMapSet.l_RL"), fm, Color.black,93,210); //$NON-NLS-1$ //Value labels for all parts of mek //front fm = comp.getFontMetrics(FONT_VALUE); vLabels[Mech.LOC_HEAD] = WidgetUtils.createValueLabel(62, 22, "", fm); //$NON-NLS-1$ vLabels[Mech.LOC_LT] = WidgetUtils.createValueLabel(38, 44, "", fm); //$NON-NLS-1$ vLabels[Mech.LOC_CT] = WidgetUtils.createValueLabel(62, 57, "", fm); //$NON-NLS-1$ vLabels[Mech.LOC_RT] = WidgetUtils.createValueLabel(86, 44, "", fm); //$NON-NLS-1$ vLabels[Mech.LOC_LLEG] = WidgetUtils.createValueLabel(23, 113, "", fm); //$NON-NLS-1$ vLabels[Mech.LOC_RLEG] = WidgetUtils.createValueLabel(102, 113, "", fm); //$NON-NLS-1$ //back vLabels[REAR_AREA_OFFSET + Mech.LOC_LT] = WidgetUtils.createValueLabel(132, 28, "", fm); //$NON-NLS-1$ vLabels[REAR_AREA_OFFSET + Mech.LOC_CT] = WidgetUtils.createValueLabel(156, 39, "", fm); //$NON-NLS-1$ vLabels[REAR_AREA_OFFSET + Mech.LOC_RT] = WidgetUtils.createValueLabel(177, 28, "", fm); //$NON-NLS-1$ //Internal structure vLabels[INT_STRUCTURE_OFFSET + Mech.LOC_HEAD] = WidgetUtils.createValueLabel(63, 142, "", fm); //$NON-NLS-1$ vLabels[INT_STRUCTURE_OFFSET + Mech.LOC_LT] = WidgetUtils.createValueLabel(42, 180, "", fm); //$NON-NLS-1$ vLabels[INT_STRUCTURE_OFFSET + Mech.LOC_CT] = WidgetUtils.createValueLabel(63, 182, "", fm); //$NON-NLS-1$ vLabels[INT_STRUCTURE_OFFSET + Mech.LOC_RT] = WidgetUtils.createValueLabel(85, 180, "", fm); //$NON-NLS-1$ vLabels[INT_STRUCTURE_OFFSET + Mech.LOC_LLEG] = WidgetUtils.createValueLabel(33, 223, "", fm); //$NON-NLS-1$ vLabels[INT_STRUCTURE_OFFSET + Mech.LOC_RLEG] = WidgetUtils.createValueLabel(92, 223, "", fm); //$NON-NLS-1$ //heat vLabels[19] = WidgetUtils.createValueLabel(155, 90, "", fm); //$NON-NLS-1$ } private void setGroups(){ // Have to remove it later PMAreasGroup frontArmor = new PMAreasGroup(); PMAreasGroup rearArmor = new PMAreasGroup(); PMAreasGroup intStructure = new PMAreasGroup(); PMAreasGroup heat = new PMAreasGroup(); for (int i = 0; i< 8 ; i++){ if(i == Mech.LOC_LARM || i == Mech.LOC_RARM) { continue; } frontArmor.addArea(areas[i]); frontArmor.addArea(labels[i]); frontArmor.addArea(vLabels[i]); } //content.addArea(new PMSimplePolygonArea(new Polygon(new int[]{-7,-6,-7}, new int[]{18,19,19},3))); for (int i = 0; i< 3 ; i++){ rearArmor.addArea(areas[8 + i]); rearArmor.addArea(labels[8 + i]); rearArmor.addArea(vLabels[8 + i]); } for (int i = 0; i< 8 ; i++){ if(i == Mech.LOC_LARM || i == Mech.LOC_RARM) { continue; } intStructure.addArea(areas[11 + i]); intStructure.addArea(labels[11 + i]); intStructure.addArea(vLabels[11 + i]); } heat.addArea(heatHotArea); heat.addArea(vLabels[19]); frontArmor.translate(7,18); rearArmor.translate(19,20); intStructure.translate(6,42); heat.translate(20, 52); //This have to be left for (int i = 0; i< 19 ; i++){ if(i == Mech.LOC_LARM || i == Mech.LOC_RARM) { continue; } content.addArea(areas[i]); content.addArea(labels[i]); content.addArea(vLabels[i]); } content.addArea(heatHotArea); content.addArea(vLabels[19]); } private void setBackGround(){ Image tile = comp.getToolkit().getImage(IMAGE_DIR+"/tile.gif"); //$NON-NLS-1$ PMUtil.setImage(tile, comp); int b = BackGroundDrawer.TILING_BOTH; bgDrawers.addElement(new BackGroundDrawer (tile,b)); tile = comp.getToolkit().getImage(IMAGE_DIR+"/bg_mech.gif"); //$NON-NLS-1$ PMUtil.setImage(tile, comp); b = BackGroundDrawer.NO_TILING | BackGroundDrawer.VALIGN_CENTER | BackGroundDrawer.HALIGN_CENTER; BackGroundDrawer bgd = new BackGroundDrawer (tile,b); bgDrawers.addElement(bgd); } private void drawHeatControl(int t) { drawHeatControl (t, false); } private void drawHeatControl(int t, boolean mtHeat){ int y = 0; int maxHeat, steps; if (mtHeat) { maxHeat = 50; steps = 2; } else { maxHeat = 30; steps = 4; } Graphics g = heatImage.getGraphics(); for (int i = 0; i< maxHeat; i++){ y = 120 - (i+1)*steps; if (i < t){ g.setColor(Color.red); } else { g.setColor(Color.lightGray); } g.fillRect(0, y, 10, steps); g.setColor(Color.black); g.drawRect(0, y, 10, steps); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -