sfx GunCock, ambient crickets, fire sound
This commit is contained in:
parent
9723a3567c
commit
1284a9835a
2 changed files with 176 additions and 157 deletions
|
|
@ -20,6 +20,7 @@ import net.halbear.Terrain4J.EngineCore.Threads.RenderThread;
|
|||
import net.halbear.Terrain4J.EngineCore.Vulkan.Rendering.DynamicMesh.DynamicTerrainMesh;
|
||||
import net.halbear.Terrain4J.EngineCore.Vulkan.Rendering.Projection.Project3D;
|
||||
import net.halbear.Terrain4J.EngineCore.Main.Scene.Item;
|
||||
import net.halbear.Terrain4J.EngineCore.Main.AudioInstance.AudioType;
|
||||
import org.joml.Vector2f;
|
||||
import org.joml.Vector3f;
|
||||
import org.tinylog.Logger;
|
||||
|
|
@ -70,6 +71,12 @@ public class Scene implements IScene {
|
|||
public Item RevolverItem;
|
||||
public Item CurrentItem;
|
||||
public Item FlintLockItem;
|
||||
public AudioInstance GunCockSFX;
|
||||
public AudioInstance MusketFireSFX;
|
||||
public AudioInstance CricketAmbience;
|
||||
private long TimeSinceLastCricket = 0;
|
||||
private static final long CRICKET_INTERVAL_NS = 2L * 60 * 1_000_000_000L;
|
||||
|
||||
|
||||
public List<String> ActiveGUIs = new ArrayList<>();
|
||||
public Map<String, GUIOverlay> GUIReg = new HashMap<>();
|
||||
|
|
@ -160,6 +167,11 @@ public class Scene implements IScene {
|
|||
TransitionCameraFrame = true;
|
||||
}
|
||||
}
|
||||
TimeSinceLastCricket += FrameDiffNanoSeconds;
|
||||
if (TimeSinceLastCricket >= CRICKET_INTERVAL_NS) {
|
||||
CricketAmbience.Play();
|
||||
TimeSinceLastCricket = 0;
|
||||
}
|
||||
}
|
||||
|
||||
public Map<String, CameraFrame> GetCameraFrameReg(){return CameraFrames;}
|
||||
|
|
@ -183,6 +195,9 @@ public class Scene implements IScene {
|
|||
AudioInstance newInstance = new AudioInstance("resources/EngineResources/audio/music/MENUMUSIC_RetroFutureClean.ogg","BGM",manager,true);
|
||||
newInstance.Play();
|
||||
audioInstances.put("BGM",newInstance);
|
||||
GunCockSFX = new AudioInstance("resources/EngineResources/audio/sounds/GunCock.ogg", "GunCockSFX", manager, false).SetAudioType(AudioType.SFX);
|
||||
MusketFireSFX = new AudioInstance("resources/EngineResources/audio/sounds/MusketFire.ogg", "MusketFireSFX", manager, false).SetAudioType(AudioType.SFX);
|
||||
CricketAmbience = new AudioInstance("resources/EngineResources/audio/sounds/CricketAmbience.ogg", "CricketAmbience", manager, false).SetAudioType(AudioType.AMBIENT);
|
||||
}
|
||||
public Camera GetCamera(){return camera;}
|
||||
public void AddActor(Actor NewActor){
|
||||
|
|
@ -266,16 +281,19 @@ public class Scene implements IScene {
|
|||
playerActor.SetModelID(MusketItem.ModelID());
|
||||
UpdateEntityModelID(playerActor.ID, MusketItem.ModelID());
|
||||
CurrentItem= MusketItem;
|
||||
GunCockSFX.Play();
|
||||
}
|
||||
if (input.keySinglePress(GLFW_KEY_R)) {
|
||||
playerActor.SetModelID(RevolverItem.ModelID());
|
||||
UpdateEntityModelID(playerActor.ID, RevolverItem.ModelID());
|
||||
CurrentItem= RevolverItem;
|
||||
GunCockSFX.Play();
|
||||
}
|
||||
if (input.keySinglePress(GLFW_KEY_F)) {
|
||||
playerActor.SetModelID(FlintLockItem.ModelID());
|
||||
UpdateEntityModelID(playerActor.ID, FlintLockItem.ModelID());
|
||||
CurrentItem= FlintLockItem;
|
||||
GunCockSFX.Play();
|
||||
}
|
||||
}
|
||||
if (input.keySinglePress(GLFW_KEY_ESCAPE)) {
|
||||
|
|
@ -297,6 +315,7 @@ public class Scene implements IScene {
|
|||
if (NewTime - LastGunFire > 1_000_000f * FireRate ){
|
||||
LastGunFire = NewTime;
|
||||
ClientConnectionThread.FireWeapon(playerActor.ID, CurrentItem.Damage());
|
||||
MusketFireSFX.Play();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue