Added Background Music
This commit is contained in:
parent
82fddae704
commit
22b5f6e62d
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -5,6 +5,13 @@ public enum Sound
|
|||
BlockHit,
|
||||
BlockBreak,
|
||||
ItemPickup,
|
||||
MusicLoop,
|
||||
Step0,
|
||||
Step1,
|
||||
Step2,
|
||||
Step3,
|
||||
Step4,
|
||||
Step5,
|
||||
}
|
||||
|
||||
public class AudioPlayer
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
using Mine2d.engine;
|
||||
using Mine2d.engine.system.annotations;
|
||||
using Mine2d.game.backend.network.packets;
|
||||
using Mine2d.game.core;
|
||||
|
||||
namespace Mine2d.game.backend.interactor;
|
||||
|
||||
|
|
@ -13,4 +14,35 @@ public class Audio
|
|||
var ctx = Context.Get();
|
||||
ctx.GameAudio.Play(Sound.BlockBreak);
|
||||
}
|
||||
|
||||
[Interaction(InteractorKind.Client, PacketType.Tick)]
|
||||
public static void Tick()
|
||||
{
|
||||
var ctx = Context.Get();
|
||||
if (ctx.FrontendGameState.NextMusicPlay < DateTime.Now)
|
||||
{
|
||||
ctx.GameAudio.Play(Sound.MusicLoop);
|
||||
ctx.FrontendGameState.NextMusicPlay = DateTime.Now.AddSeconds(130);
|
||||
}
|
||||
if (false && ctx.FrontendGameState.NextStepPlay < DateTime.Now && PlayerEntity.GetSelf().PlayerMovementState.CurrentVelocity != Vector2.Zero)
|
||||
{
|
||||
ctx.GameAudio.Play(GetRandomStepSound());
|
||||
ctx.FrontendGameState.NextStepPlay = DateTime.Now.AddSeconds(0.2);
|
||||
}
|
||||
}
|
||||
|
||||
private static Sound GetRandomStepSound()
|
||||
{
|
||||
var sound = new Random().NextInt64(0, 6);
|
||||
return sound switch
|
||||
{
|
||||
0 => Sound.Step0,
|
||||
1 => Sound.Step1,
|
||||
2 => Sound.Step2,
|
||||
3 => Sound.Step3,
|
||||
4 => Sound.Step4,
|
||||
5 => Sound.Step5,
|
||||
_ => Sound.Step0
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,6 +12,13 @@ public class GameAudio
|
|||
this.audioPlayer.Register(Sound.BlockBreak, "assets.audio.block_break.wav");
|
||||
this.audioPlayer.Register(Sound.BlockHit, "assets.audio.block_hit_alt.wav");
|
||||
this.audioPlayer.Register(Sound.ItemPickup, "assets.audio.item_pickup.wav");
|
||||
this.audioPlayer.Register(Sound.MusicLoop, "assets.audio.music-loop.wav");
|
||||
this.audioPlayer.Register(Sound.Step0, "assets.audio.step0.wav");
|
||||
this.audioPlayer.Register(Sound.Step1, "assets.audio.step1.wav");
|
||||
this.audioPlayer.Register(Sound.Step2, "assets.audio.step2.wav");
|
||||
this.audioPlayer.Register(Sound.Step3, "assets.audio.step3.wav");
|
||||
this.audioPlayer.Register(Sound.Step4, "assets.audio.step4.wav");
|
||||
this.audioPlayer.Register(Sound.Step5, "assets.audio.step5.wav");
|
||||
}
|
||||
|
||||
public void Play(Sound sound)
|
||||
|
|
|
|||
|
|
@ -20,6 +20,8 @@ public class FrontendGameState
|
|||
public InventoryKind OpenInventory { get; set; } = InventoryKind.None;
|
||||
public InputState InputState { get; set; } = new();
|
||||
public DebugState DebugState { get; set; } = new();
|
||||
public DateTime NextMusicPlay { get; set; } = DateTime.MinValue;
|
||||
public DateTime NextStepPlay { get; set; } = DateTime.MinValue;
|
||||
}
|
||||
|
||||
public class DebugState {
|
||||
|
|
|
|||
Loading…
Reference in New Issue