diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Entity/GameplayObjects/Bomb.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Entity/GameplayObjects/Bomb.java index 4923e3686c523d57c95bbb5df3c07c3e0b6b6b50..48e2db0e6a4d3bc44a2af79399edd6515213b811 100644 --- a/src/main/java/de/hdm_stuttgart/battlearena/Model/Entity/GameplayObjects/Bomb.java +++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/Entity/GameplayObjects/Bomb.java @@ -4,8 +4,8 @@ import de.hdm_stuttgart.battlearena.Controller.GameSceneController; import de.hdm_stuttgart.battlearena.Model.Entity.EntityDirection; import de.hdm_stuttgart.battlearena.Model.Entity.IEntity; import de.hdm_stuttgart.battlearena.Model.Sound.SFX; +import de.hdm_stuttgart.battlearena.Model.Sound.SfxOnce; import de.hdm_stuttgart.battlearena.Model.Sound.SoundEffects; -import de.hdm_stuttgart.battlearena.Model.Sound.TestThread; import javafx.geometry.BoundingBox; import javafx.scene.canvas.GraphicsContext; import javafx.scene.image.Image; @@ -93,16 +93,15 @@ public class Bomb implements IEntity { if (frameCounter > 17) { if (frameIndex == 0) { - //sfx.playSoundEffectOnce(SFX.BOMB); - TestThread t = new TestThread(); - t.startSound(SFX.BOMB); frameIndex = 1; //PLayer.spawnExplosion(); } else if (frameIndex == 1) { frameIndex = 2; } else if (frameIndex == 2) { frameIndex = 3; - //soundEffects.playSoundEffectOnce(SFX.BOMB); + SfxOnce t = new SfxOnce(); + t.startSound(SFX.BOMB); + } else if (frameIndex == 3) { frameIndex = 4; } else if (frameIndex == 4) { diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Entity/Player.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Entity/Player.java index 20f63337ae9a12ae70fd00e6e10557716a69a43f..058148f8bf7282f80112c358cecb182afc7d74b4 100644 --- a/src/main/java/de/hdm_stuttgart/battlearena/Model/Entity/Player.java +++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/Entity/Player.java @@ -8,6 +8,7 @@ import de.hdm_stuttgart.battlearena.Model.Entity.GameplayObjects.ObjectType; import de.hdm_stuttgart.battlearena.Model.Inputs.InputHandler; import de.hdm_stuttgart.battlearena.Model.Map.TileManager; import de.hdm_stuttgart.battlearena.Model.Sound.SFX; +import de.hdm_stuttgart.battlearena.Model.Sound.SfxOnce; import de.hdm_stuttgart.battlearena.Model.Sound.SoundEffects; import javafx.geometry.BoundingBox; import javafx.scene.canvas.GraphicsContext; @@ -380,7 +381,7 @@ class Player implements IEntity { List<IEntity> gameplayObjects = runtimeInfo.getGameplayObjects(); if (inputHandler.isBomb() && PLAYER_MODE == PlayerMode.PLAYER_ONE && bombPlacementRate == 0 || inputHandler.isSdBomb() && PLAYER_MODE == PlayerMode.PLAYER_TWO && bombPlacementRate == 0) { - sfx.playSoundEffectOnce(SFX.BOMB); + if (isBigBombItemFrame) { log.debug("We have Itemframes in the List"); bombPlacementRate = 100; @@ -507,7 +508,8 @@ class Player implements IEntity { x = (entity.getMapPosX()) / scaledTileSize; if (TileManager.tileMap[y][x] > 19) { TileManager.tileMap[y][x] = 0; - sfx.playSoundEffectOnce(SFX.WOOD_Destruction); + SfxOnce sfx = new SfxOnce(); + sfx.startSound(SFX.WOOD_Destruction); //spawning item entitys spawnItems(x * scaledTileSize, y * scaledTileSize, graphicsContext); } @@ -562,7 +564,8 @@ class Player implements IEntity { if (inputHandler.isAttack() && PLAYER_MODE == PlayerMode.PLAYER_ONE && attackRate == 0 || inputHandler.isSdAttack() && PLAYER_MODE == PlayerMode.PLAYER_TWO && attackRate == 0) { attackRate = 15; - sfx.playSoundEffectOnce(SFX.SWORD_SWING); + SfxOnce sfx = new SfxOnce(); + sfx.startSound(SFX.SWORD_SWING); if (playerDirection == EntityDirection.UP) { hitBox = new BoundingBox(mapPosX + playerWidth, mapPosY - 10, attackWidth, attackRange); @@ -594,7 +597,8 @@ class Player implements IEntity { private void hitEnemy(IEntity entity, BoundingBox hitBox) { if (hitBox.intersects(entity.getBoxCollider())) { - sfx.playSoundEffectOnce(SFX.SWORD_HIT); + SfxOnce sfx = new SfxOnce(); + sfx.startSound(SFX.SWORD_HIT); entity.gotHit(damage); log.info("Hit enemy"); } @@ -684,8 +688,8 @@ class Player implements IEntity { @Override public void healPlayer(int healthRegenerated) { int regeneratedHealth = health + healthRegenerated; - - sfx.playSoundEffectOnce(SFX.POWERUP); + SfxOnce sfx = new SfxOnce(); + sfx.startSound(SFX.POWERUP); if (regeneratedHealth < maxPlayerHealth && regeneratedHealth > 0) { diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/TestThread.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/SfxOnce.java similarity index 87% rename from src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/TestThread.java rename to src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/SfxOnce.java index 1cdbe841ed45656ae88fe3aa76bb3ac601566220..6fb57906c4bf830f2ff96235b76a810d8b664cd3 100644 --- a/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/TestThread.java +++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/SfxOnce.java @@ -5,8 +5,8 @@ import javafx.scene.media.AudioClip; import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.LogManager; -public class TestThread extends Thread { - private static final Logger log = LogManager.getLogger(TestThread.class); +public class SfxOnce extends Thread { + private static final Logger log = LogManager.getLogger(SfxOnce.class); private SFX sfx; private Persistence persistence = Persistence.getInstance();