diff --git a/Assets/_Project/Audio/music.meta b/Assets/_Project/Audio/music.meta
new file mode 100644
index 0000000..0530425
--- /dev/null
+++ b/Assets/_Project/Audio/music.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 83f3ae347a44c6e1da40d37aab1ba991
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/_Project/Audio/music/menu.meta b/Assets/_Project/Audio/music/menu.meta
new file mode 100644
index 0000000..77138b2
--- /dev/null
+++ b/Assets/_Project/Audio/music/menu.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 619ed0e77e6deb6049c09744dff9687a
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/_Project/Audio/music/menu/menu_1.wav b/Assets/_Project/Audio/music/menu/menu_1.wav
new file mode 100644
index 0000000..11fb364
--- /dev/null
+++ b/Assets/_Project/Audio/music/menu/menu_1.wav
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:513e1c3fd4bf761b3ac49f0018327370e00e8768e9323b9359c6ae53b76d6573
+size 7879356
diff --git a/Assets/_Project/Audio/music/menu/menu_1.wav.meta b/Assets/_Project/Audio/music/menu/menu_1.wav.meta
new file mode 100644
index 0000000..11174b0
--- /dev/null
+++ b/Assets/_Project/Audio/music/menu/menu_1.wav.meta
@@ -0,0 +1,23 @@
+fileFormatVersion: 2
+guid: d4626563ad3c90179b247207e7b9f0be
+AudioImporter:
+ externalObjects: {}
+ serializedVersion: 8
+ defaultSettings:
+ serializedVersion: 2
+ loadType: 0
+ sampleRateSetting: 0
+ sampleRateOverride: 44100
+ compressionFormat: 1
+ quality: 1
+ conversionMode: 0
+ preloadAudioData: 0
+ platformSettingOverrides: {}
+ forceToMono: 0
+ normalize: 1
+ loadInBackground: 0
+ ambisonic: 0
+ 3D: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/_Project/Scenes/Levels/9Player.unity b/Assets/_Project/Scenes/Levels/9Player.unity
index ad268e9..14f1ebc 100644
--- a/Assets/_Project/Scenes/Levels/9Player.unity
+++ b/Assets/_Project/Scenes/Levels/9Player.unity
@@ -2261,9 +2261,6 @@ MonoBehaviour:
- category: 2
maxVoices: 4
volume: 0.5
- - category: 3
- maxVoices: 4
- volume: 0.5
--- !u!4 &176580462
Transform:
m_ObjectHideFlags: 0
@@ -7339,6 +7336,150 @@ Transform:
m_Children: []
m_Father: {fileID: 1097152085}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &516125084
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 516125087}
+ - component: {fileID: 516125086}
+ - component: {fileID: 516125085}
+ m_Layer: 0
+ m_Name: MusicPlayer
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &516125085
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 516125084}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 292ad37b9e4d1d7c28e59cf4dc1e99fa, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::TD.Audio.MusicPlayer
+ clip: {fileID: 8300000, guid: d4626563ad3c90179b247207e7b9f0be, type: 3}
+ volume: 0.632
+--- !u!82 &516125086
+AudioSource:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 516125084}
+ m_Enabled: 1
+ serializedVersion: 4
+ OutputAudioMixerGroup: {fileID: 0}
+ m_audioClip: {fileID: 0}
+ m_Resource: {fileID: 0}
+ m_PlayOnAwake: 1
+ m_Volume: 1
+ m_Pitch: 1
+ Loop: 0
+ Mute: 0
+ Spatialize: 0
+ SpatializePostEffects: 0
+ Priority: 128
+ DopplerLevel: 1
+ MinDistance: 1
+ MaxDistance: 500
+ Pan2D: 0
+ rolloffMode: 0
+ BypassEffects: 0
+ BypassListenerEffects: 0
+ BypassReverbZones: 0
+ rolloffCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ - serializedVersion: 3
+ time: 1
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ panLevelCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ spreadCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 0
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+ reverbZoneMixCustomCurve:
+ serializedVersion: 2
+ m_Curve:
+ - serializedVersion: 3
+ time: 0
+ value: 1
+ inSlope: 0
+ outSlope: 0
+ tangentMode: 0
+ weightedMode: 0
+ inWeight: 0.33333334
+ outWeight: 0.33333334
+ m_PreInfinity: 2
+ m_PostInfinity: 2
+ m_RotationOrder: 4
+--- !u!4 &516125087
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 516125084}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &531325306
GameObject:
m_ObjectHideFlags: 0
@@ -28772,3 +28913,4 @@ SceneRoots:
- {fileID: 1889390964}
- {fileID: 2139601601}
- {fileID: 176580462}
+ - {fileID: 516125087}
diff --git a/Assets/_Project/Scripts/Audio/AudioCategory.cs b/Assets/_Project/Scripts/Audio/AudioCategory.cs
index ef63198..9a446aa 100644
--- a/Assets/_Project/Scripts/Audio/AudioCategory.cs
+++ b/Assets/_Project/Scripts/Audio/AudioCategory.cs
@@ -1,5 +1,5 @@
// Assets/_Project/Scripts/Audio/AudioCategory.cs
namespace TD.Audio
{
- public enum AudioCategory { TowerFire, EnemyHitDeath, UI, Music }
+ public enum AudioCategory { TowerFire, EnemyHitDeath, UI }
}
diff --git a/Assets/_Project/Scripts/Audio/MusicPlayer.cs b/Assets/_Project/Scripts/Audio/MusicPlayer.cs
new file mode 100644
index 0000000..325b15c
--- /dev/null
+++ b/Assets/_Project/Scripts/Audio/MusicPlayer.cs
@@ -0,0 +1,27 @@
+// Assets/_Project/Scripts/Audio/MusicPlayer.cs
+using UnityEngine;
+
+namespace TD.Audio
+{
+ ///
+ /// Plays a single looping music track for the scene it lives in.
+ /// Add to a GameObject in the scene, assign a clip, and it starts on load.
+ ///
+ [RequireComponent(typeof(AudioSource))]
+ public class MusicPlayer : MonoBehaviour
+ {
+ [SerializeField] private AudioClip clip;
+ [Range(0f, 1f)]
+ [SerializeField] private float volume = 1f;
+
+ private void Start()
+ {
+ var src = GetComponent();
+ src.clip = clip;
+ src.volume = volume;
+ src.loop = true;
+ src.playOnAwake = false;
+ src.Play();
+ }
+ }
+}
diff --git a/Assets/_Project/Scripts/Audio/MusicPlayer.cs.meta b/Assets/_Project/Scripts/Audio/MusicPlayer.cs.meta
new file mode 100644
index 0000000..ced75fb
--- /dev/null
+++ b/Assets/_Project/Scripts/Audio/MusicPlayer.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 292ad37b9e4d1d7c28e59cf4dc1e99fa
\ No newline at end of file
diff --git a/Assets/_Project/Scripts/Audio/README.md b/Assets/_Project/Scripts/Audio/README.md
index 2f7d81c..31e990d 100644
--- a/Assets/_Project/Scripts/Audio/README.md
+++ b/Assets/_Project/Scripts/Audio/README.md
@@ -13,7 +13,6 @@ Centralised voice-limited audio for the game. Lives in `Assets/_Project/Scripts/
| `TowerFire` | Tower attack sounds |
| `EnemyHitDeath` | Enemy damage and death sounds |
| `UI` | Button clicks, placement confirmation, etc. |
-| `Music` | Background music |
Voice limits and volume per category are configured in the Inspector on the `AudioManager` scene GameObject.
@@ -25,7 +24,6 @@ Suggested defaults:
- TowerFire: 4 voices, volume 1.0
- EnemyHitDeath: 8 voices, volume 1.0
- UI: 4 voices, volume 1.0
-- Music: 2 voices, volume 0.8
## Adding a new sound-emitting component
diff --git a/ProjectSettings/Packages/com.unity.probuilder/Settings.json b/ProjectSettings/Packages/com.unity.probuilder/Settings.json
index c46a6fa..9202690 100644
--- a/ProjectSettings/Packages/com.unity.probuilder/Settings.json
+++ b/ProjectSettings/Packages/com.unity.probuilder/Settings.json
@@ -109,43 +109,23 @@
{
"type": "UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
"key": "ShapeBuilder.LastSize.Cube",
- "value": "{\"m_Value\":{\"x\":-0.8617095947265625,\"y\":1.0079753398895264,\"z\":3.049813747406006}}"
- },
- {
- "type": "UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
- "key": "ShapeBuilder.LastSize.Stairs",
- "value": "{\"m_Value\":{\"x\":-2.007598876953125,\"y\":2.0233278274536135,\"z\":2.0208892822265627}}"
+ "value": "{\"m_Value\":{\"x\":5.5,\"y\":3.0,\"z\":-2.5}}"
},
{
"type": "UnityEngine.Quaternion, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
"key": "ShapeBuilder.LastRotation.Cube",
"value": "{\"m_Value\":{\"x\":0.0,\"y\":0.0,\"z\":0.0,\"w\":1.0}}"
},
- {
- "type": "UnityEngine.Quaternion, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
- "key": "ShapeBuilder.LastRotation.Stairs",
- "value": "{\"m_Value\":{\"x\":0.0,\"y\":0.0,\"z\":0.0,\"w\":1.0}}"
- },
{
"type": "UnityEngine.ProBuilder.PivotLocation, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
"key": "ShapeBuilder.PivotLocation.Cube",
"value": "{\"m_Value\":0}"
},
- {
- "type": "UnityEngine.ProBuilder.PivotLocation, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
- "key": "ShapeBuilder.PivotLocation.Stairs",
- "value": "{\"m_Value\":0}"
- },
{
"type": "UnityEngine.ProBuilder.Shapes.Shape, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
"key": "ShapeBuilder.Cube",
"value": "{}"
},
- {
- "type": "UnityEngine.ProBuilder.Shapes.Shape, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
- "key": "ShapeBuilder.Stairs",
- "value": "{}"
- },
{
"type": "UnityEngine.ProBuilder.SelectMode, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
"key": "s_SelectMode",