diff --git a/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/SeaSynchronizer.java b/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/SeaSynchronizer.java index b2b527f7..3e8501e4 100644 --- a/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/SeaSynchronizer.java +++ b/Projekte/battleship/client/src/main/java/pp/battleship/client/gui/SeaSynchronizer.java @@ -7,16 +7,9 @@ package pp.battleship.client.gui; -import com.jme3.effect.ParticleEmitter; -import com.jme3.material.Material; -import com.jme3.material.RenderState.BlendMode; -import com.jme3.math.ColorRGBA; import com.jme3.renderer.queue.RenderQueue.ShadowMode; -import com.jme3.scene.Geometry; import com.jme3.scene.Node; import com.jme3.scene.Spatial; -import com.jme3.scene.shape.Box; -import com.jme3.scene.shape.Cylinder; import pp.battleship.client.BattleshipApp; import pp.battleship.model.*; @@ -31,21 +24,14 @@ * logic for the sea map. */ class SeaSynchronizer extends ShipMapSynchronizer { - private static final String UNSHADED = "Common/MatDefs/Misc/Unshaded.j3md"; //NON-NLS private static final String KING_GEORGE_V_MODEL = "Models/KingGeorgeV/KingGeorgeV.j3o"; private static final String UBOAT = "Models/UBoat/14084_WWII_Ship_German_Type_II_U-boat_v2_L1.obj"; //NON-NLS private static final String BATTLE_SHIP_MODERN = "Models/BattleShipModern/10619_Battleship.obj"; private static final String PATROL_BOAT = "Models/PatrolBoat/12219_boat_v2_L2.obj"; private static final String SHELL_ROCKET = "Models/Rocket/Rocket.obj"; - private static final String COLOR = "Color"; //NON-NLS private static final String SHIP = "ship"; //NON-NLS - private static final String SHOT = "shot"; //NON-NLS private static final String SHELL = "shell"; - private static final ColorRGBA BOX_COLOR = ColorRGBA.Gray; - private static final ColorRGBA SPLASH_COLOR = new ColorRGBA(0f, 0f, 1f, 0.4f); - private static final ColorRGBA HIT_COLOR = new ColorRGBA(1f, 0f, 0f, 0.4f); - - private EffectHandler effectHandler; + private final EffectHandler effectHandler; private final ShipMap map; private final BattleshipApp app; @@ -95,28 +81,6 @@ private Spatial handleHit(Shot shot) { return null; } - /** - * Creates a cylinder geometry representing the specified shot. - * The appearance of the cylinder depends on whether the shot is a hit or a miss. - * - * @param shot the shot to be represented - * @return the geometry representing the shot - */ - private Geometry createCylinder(Shot shot) { - final ColorRGBA color = shot.isHit() ? HIT_COLOR : SPLASH_COLOR; - final float height = shot.isHit() ? 1.2f : 0.1f; - - final Cylinder cylinder = new Cylinder(2, 20, 0.45f, height, true); - final Geometry geometry = new Geometry(SHOT, cylinder); - - geometry.setMaterial(createColoredMaterial(color)); - geometry.rotate(HALF_PI, 0f, 0f); - // compute the center of the shot in world coordinates - geometry.setLocalTranslation(shot.getY() + 0.5f, 0f, shot.getX() + 0.5f); - - return geometry; - } - /** * Visits a {@link Battleship} and creates a graphical representation of it. * The representation is either a 3D model or a simple box depending on the @@ -166,7 +130,7 @@ private Spatial createRocket() { final Spatial model = app.getAssetManager().loadModel(SHELL_ROCKET); model.rotate(PI, 0f, 0f); - model.scale(0.005f); + model.scale(0.002f); model.setShadowMode(ShadowMode.CastAndReceive); model.move(0, 0, 0); @@ -190,42 +154,6 @@ private Spatial createShip(Battleship ship) { }; } - /** - * Creates a simple box to represent a battleship that is not of the "King George V" type. - * - * @param ship the battleship to be represented - * @return the geometry representing the battleship as a box - */ - private Spatial createBox(Battleship ship) { - final Box box = new Box(0.5f * (ship.getMaxY() - ship.getMinY()) + 0.3f, - 0.3f, - 0.5f * (ship.getMaxX() - ship.getMinX()) + 0.3f); - final Geometry geometry = new Geometry(SHIP, box); - geometry.setMaterial(createColoredMaterial(BOX_COLOR)); - geometry.setShadowMode(ShadowMode.CastAndReceive); - - return geometry; - } - - /** - * Creates a new {@link Material} with the specified color. - * If the color includes transparency (i.e., alpha value less than 1), - * the material's render state is set to use alpha blending, allowing for - * semi-transparent rendering. - * - * @param color the {@link ColorRGBA} to be applied to the material. If the alpha value - * of the color is less than 1, the material will support transparency. - * @return a {@link Material} instance configured with the specified color and, - * if necessary, alpha blending enabled. - */ - private Material createColoredMaterial(ColorRGBA color) { - final Material material = new Material(app.getAssetManager(), UNSHADED); - if (color.getAlpha() < 1f) - material.getAdditionalRenderState().setBlendMode(BlendMode.Alpha); - material.setColor(COLOR, color); - return material; - } - /** * Creates a detailed 3D model to represent a "King George V" battleship. *