From 6b9bb6da5ae288520b418109787a0fa9a72e8729 Mon Sep 17 00:00:00 2001 From: qwsdcvghyu89 <61093706+qwsdcvghyu89@users.noreply.github.com> Date: Mon, 15 Jun 2026 00:07:56 +1000 Subject: [PATCH] Audio additions: jump.ogg - comitting to continue development in another environment. --- sounds/sfx/jump.ogg | Bin 0 -> 7648 bytes sounds/sfx/jump.ogg.import | 19 +++++++++++++++++++ src/components/PlayerPhysicsController.cs | 13 +++++++++++++ src/components/SfxPlayer.gd | 2 ++ src/components/SfxPlayer.gd.uid | 1 + 5 files changed, 35 insertions(+) create mode 100644 sounds/sfx/jump.ogg create mode 100644 sounds/sfx/jump.ogg.import create mode 100644 src/components/SfxPlayer.gd create mode 100644 src/components/SfxPlayer.gd.uid diff --git a/sounds/sfx/jump.ogg b/sounds/sfx/jump.ogg new file mode 100644 index 0000000000000000000000000000000000000000..085c096ebad003c272e3a82763918608feac00e0 GIT binary patch literal 7648 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 literal 0 HcmV?d00001 diff --git a/sounds/sfx/jump.ogg.import b/sounds/sfx/jump.ogg.import new file mode 100644 index 0000000..e321b76 --- /dev/null +++ b/sounds/sfx/jump.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://dkx1v6c7vv0iq" +path="res://.godot/imported/jump.ogg-d217a70c8ca2fe077e37d9f442c771d3.oggvorbisstr" + +[deps] + +source_file="res://sounds/sfx/jump.ogg" +dest_files=["res://.godot/imported/jump.ogg-d217a70c8ca2fe077e37d9f442c771d3.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/src/components/PlayerPhysicsController.cs b/src/components/PlayerPhysicsController.cs index a5cd2ae..586e722 100644 --- a/src/components/PlayerPhysicsController.cs +++ b/src/components/PlayerPhysicsController.cs @@ -4,6 +4,12 @@ using System.Collections.Generic; using System.Diagnostics; using System.Linq; +public enum JumpKind { + Ground, + Turnback, + Midair +} + public partial class PlayerPhysicsController : CharacterBody2D { // [Export] // public float RunMultiplier { get; set; } = 1.84f; @@ -11,6 +17,10 @@ public partial class PlayerPhysicsController : CharacterBody2D { [Signal] public delegate void OnTurnbackJumpEventHandler(bool onJumpPoint, bool isOnWall); + [Signal] + public delegate void OnJumpEventHandler(JumpKind kind, bool isOnGround, bool isOnWall); + + [ExportCategory("Accelerations and Impulses")] [Export] public float WalkAcceleration { get; set; } = 3f; @@ -134,6 +144,7 @@ public partial class PlayerPhysicsController : CharacterBody2D { else _timeOffGround += (float)delta; if (Input.IsActionJustPressed("jump")) { + EmitSignal(SignalName.OnJump, (int)JumpKind.Ground, this.IsOnFloor(), this.IsOnWall()); vely = -_lv; } @@ -153,6 +164,7 @@ public partial class PlayerPhysicsController : CharacterBody2D { var side = velx > 0 ? PredictiveCollisions.Location.BottomRight : PredictiveCollisions.Location.BottomLeft; if (Predictor.AnyHit(side) && !this.IsOnWall()) { EmitSignal(SignalName.OnTurnbackJump, true, this.IsOnWall()); + EmitSignal(SignalName.OnJump, (int)JumpKind.Turnback, this.IsOnFloor(), this.IsOnWall()); var hits = Predictor.GetLastCastHits(side); _ = hits.First(x => { if (x.Obj is null) return false; @@ -194,6 +206,7 @@ public partial class PlayerPhysicsController : CharacterBody2D { } if (Input.IsActionJustPressed("jump") && Mathf.Abs(vely) < 2) { + EmitSignal(SignalName.OnJump, (int)JumpKind.Midair, this.IsOnFloor(), this.IsOnWall()); vely = -_lv; } diff --git a/src/components/SfxPlayer.gd b/src/components/SfxPlayer.gd new file mode 100644 index 0000000..6b1a6e2 --- /dev/null +++ b/src/components/SfxPlayer.gd @@ -0,0 +1,2 @@ +extends AudioStreamPlayer + diff --git a/src/components/SfxPlayer.gd.uid b/src/components/SfxPlayer.gd.uid new file mode 100644 index 0000000..6bade70 --- /dev/null +++ b/src/components/SfxPlayer.gd.uid @@ -0,0 +1 @@ +uid://bwgqvwybyrsmq