net.dreditor.audio 0.0.0-stage → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/ClearAudioSourceOnTitleScreen.cs +51 -0
  2. package/ClearAudioSourceOnTitleScreen.cs.meta +11 -0
  3. package/CreditsMusic.cs +64 -0
  4. package/CreditsMusic.cs.meta +11 -0
  5. package/CreditsMusicUnity.cs +22 -0
  6. package/CreditsMusicUnity.cs.meta +11 -0
  7. package/DREditor.Audio.asmdef +19 -0
  8. package/DREditor.Audio.asmdef.meta +7 -0
  9. package/EnvironmentSFXMananger.cs +160 -0
  10. package/EnvironmentSFXMananger.cs.meta +11 -0
  11. package/EnvironmentSFXManangerBase.cs +24 -0
  12. package/EnvironmentSFXManangerBase.cs.meta +11 -0
  13. package/Music.cs +27 -0
  14. package/Music.cs.meta +11 -0
  15. package/MusicFMOD.cs +32 -0
  16. package/MusicFMOD.cs.meta +11 -0
  17. package/MusicManager.cs +436 -0
  18. package/MusicManager.cs.meta +11 -0
  19. package/MusicManagerBase.cs +115 -0
  20. package/MusicManagerBase.cs.meta +11 -0
  21. package/MusicSaver.cs +127 -0
  22. package/MusicSaver.cs.meta +11 -0
  23. package/MusicTextHandler.cs +119 -0
  24. package/MusicTextHandler.cs.meta +11 -0
  25. package/OnVoiceLineSettingChanged.cs +69 -0
  26. package/OnVoiceLineSettingChanged.cs.meta +11 -0
  27. package/OptionVolume.cs +76 -0
  28. package/OptionVolume.cs.meta +11 -0
  29. package/PlaySelectAudioOnUIChange.cs +42 -0
  30. package/PlaySelectAudioOnUIChange.cs.meta +11 -0
  31. package/PlaySubmitSFXOnClick.cs +23 -0
  32. package/PlaySubmitSFXOnClick.cs.meta +11 -0
  33. package/Playlist.cs +81 -0
  34. package/Playlist.cs.meta +11 -0
  35. package/PlaylistEditor.cs +358 -0
  36. package/PlaylistEditor.cs.meta +11 -0
  37. package/PlaylistFMOD.cs +39 -0
  38. package/PlaylistFMOD.cs.meta +11 -0
  39. package/SFXManager.cs +348 -0
  40. package/SFXManager.cs.meta +11 -0
  41. package/SFXManagerBase.cs +38 -0
  42. package/SFXManagerBase.cs.meta +11 -0
  43. package/Samples/Audio_Event_Save_Handler.prefab +57 -0
  44. package/Samples/Audio_Event_Save_Handler.prefab.meta +7 -0
  45. package/Samples/Credits_Music_Unity.prefab +66 -0
  46. package/Samples/Credits_Music_Unity.prefab.meta +7 -0
  47. package/Samples/Dialogue_Click_Sound_Player_DRE.prefab +76 -0
  48. package/Samples/Dialogue_Click_Sound_Player_DRE.prefab.meta +7 -0
  49. package/Samples/Environment_SFX_Manager.prefab +146 -0
  50. package/Samples/Environment_SFX_Manager.prefab.meta +7 -0
  51. package/Samples/Environment_SFX_Manager_Shell.prefab +96 -0
  52. package/Samples/Environment_SFX_Manager_Shell.prefab.meta +7 -0
  53. package/Samples/Environment_Source.prefab +130 -0
  54. package/Samples/Environment_Source.prefab.meta +7 -0
  55. package/Samples/Music_Manager.prefab +146 -0
  56. package/Samples/Music_Manager.prefab.meta +7 -0
  57. package/Samples/Music_Manager_Shell.prefab +75 -0
  58. package/Samples/Music_Manager_Shell.prefab.meta +7 -0
  59. package/Samples/Music_Source.prefab +144 -0
  60. package/Samples/Music_Source.prefab.meta +7 -0
  61. package/Samples/On_Voice_Line_Setting_Changed.prefab +53 -0
  62. package/Samples/On_Voice_Line_Setting_Changed.prefab.meta +7 -0
  63. package/Samples/Play_Select_Audio_On_UI_Change.prefab +46 -0
  64. package/Samples/Play_Select_Audio_On_UI_Change.prefab.meta +7 -0
  65. package/Samples/SFX_Manager.prefab +397 -0
  66. package/Samples/SFX_Manager.prefab.meta +7 -0
  67. package/Samples/SFX_Manager_Shell.prefab +53 -0
  68. package/Samples/SFX_Manager_Shell.prefab.meta +7 -0
  69. package/Samples/SFX_Source.prefab +130 -0
  70. package/Samples/SFX_Source.prefab.meta +7 -0
  71. package/Samples/Select_SFX_On_Setting_Changed.prefab +51 -0
  72. package/Samples/Select_SFX_On_Setting_Changed.prefab.meta +7 -0
  73. package/Samples/Sound_Manager.prefab +473 -0
  74. package/Samples/Sound_Manager.prefab.meta +7 -0
  75. package/Samples/Sound_Manager_Events.prefab +261 -0
  76. package/Samples/Sound_Manager_Events.prefab.meta +7 -0
  77. package/Samples/Sound_Manager_Shell.prefab +370 -0
  78. package/Samples/Sound_Manager_Shell.prefab.meta +7 -0
  79. package/Samples/Sound_Player_DRE.prefab +47 -0
  80. package/Samples/Sound_Player_DRE.prefab.meta +7 -0
  81. package/Samples/StopAllAudio.asset +14 -0
  82. package/Samples/StopAllAudio.asset.meta +8 -0
  83. package/Samples/UI_Cancel_Source.prefab +130 -0
  84. package/Samples/UI_Cancel_Source.prefab.meta +7 -0
  85. package/Samples/UI_Select_Source.prefab +130 -0
  86. package/Samples/UI_Select_Source.prefab.meta +7 -0
  87. package/Samples/UI_Submit_Source.prefab +130 -0
  88. package/Samples/UI_Submit_Source.prefab.meta +7 -0
  89. package/Samples/Voice_SFX_Manager.prefab +146 -0
  90. package/Samples/Voice_SFX_Manager.prefab.meta +7 -0
  91. package/Samples/Voice_SFX_Manager_Shell.prefab +49 -0
  92. package/Samples/Voice_SFX_Manager_Shell.prefab.meta +7 -0
  93. package/Samples/Voice_Source.prefab +130 -0
  94. package/Samples/Voice_Source.prefab.meta +7 -0
  95. package/Samples.meta +8 -0
  96. package/SelectSFXOnSceneEvent.cs +22 -0
  97. package/SelectSFXOnSceneEvent.cs.meta +11 -0
  98. package/SoundManager.cs +191 -0
  99. package/SoundManager.cs.meta +11 -0
  100. package/SoundManagerBase.cs +73 -0
  101. package/SoundManagerBase.cs.meta +11 -0
  102. package/SoundPlayerDRE.cs +27 -0
  103. package/SoundPlayerDRE.cs.meta +11 -0
  104. package/SoundPlayerDREUnity.cs +29 -0
  105. package/SoundPlayerDREUnity.cs.meta +11 -0
  106. package/SoundService.cs +11 -0
  107. package/SoundService.cs.meta +11 -0
  108. package/StopEnvAudioToTitle.cs +17 -0
  109. package/StopEnvAudioToTitle.cs.meta +11 -0
  110. package/VOManagerBase.cs +29 -0
  111. package/VOManagerBase.cs.meta +11 -0
  112. package/VoiceSFXManager.cs +105 -0
  113. package/VoiceSFXManager.cs.meta +11 -0
  114. package/package.json +36 -6
  115. package/package.json.meta +7 -0
  116. package/README.md +0 -3
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: 1318cbdd253c5ef40b12caf262351cef
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -0,0 +1,119 @@
1
+ //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
+ using DREditor.EventObjects;
3
+ using TMPro;
4
+ using UnityEngine;
5
+
6
+ namespace DREditor.Audio
7
+ {
8
+ /// <summary>
9
+ ///
10
+ /// </summary>
11
+ [ClassHeader("")]
12
+ public class MusicTextHandler : MonoBehaviour
13
+ {
14
+ /// <summary>
15
+ ///
16
+ /// </summary>
17
+ [Tooltip("")]
18
+ [SerializeField] protected StringWithEvent setMusicText = null;
19
+
20
+ /// <summary>
21
+ ///
22
+ /// </summary>
23
+ [Tooltip("")]
24
+ [SerializeField] protected SceneEventListener ClearMusicText = null;
25
+
26
+ /// <summary>
27
+ ///
28
+ /// </summary>
29
+ [Tooltip("")]
30
+ [SerializeField] protected SceneEventListener ResetMusicText = null;
31
+
32
+ /// <summary>
33
+ ///
34
+ /// </summary>
35
+ [Tooltip("")]
36
+ [SerializeField] protected TMP_Text boxText = null;
37
+
38
+
39
+ /// <summary>
40
+ ///
41
+ /// </summary>
42
+ protected virtual void Start() => AttemptSubscribeToEvents();
43
+
44
+ /// <summary>
45
+ ///
46
+ /// </summary>
47
+ protected virtual void AttemptSubscribeToEvents()
48
+ {
49
+ if (boxText == null)
50
+ UnityEngine.Debug.LogWarning($"ALERT: {nameof(boxText)} has not been filled out on the MusicTextHandler, " +
51
+ "so it's functionality will not be used.");
52
+ else
53
+ SubscribeToEvents();
54
+ }
55
+
56
+ /// <summary>
57
+ ///
58
+ /// </summary>
59
+ protected virtual void SubscribeToEvents()
60
+ {
61
+ setMusicText.AddListener(SetText);
62
+
63
+ ClearMusicText.Response.AddListener(ClearText);
64
+
65
+ ResetMusicText.Response.AddListener(ResetText);
66
+ }
67
+
68
+ /// <summary>
69
+ ///
70
+ /// </summary>
71
+ protected virtual void UnsubscribeToEvents()
72
+ {
73
+ setMusicText.RemoveListener(SetText);
74
+
75
+ ClearMusicText.Response.RemoveListener(ClearText);
76
+
77
+ ResetMusicText.Response.RemoveListener(ResetText);
78
+ }
79
+
80
+ /// <summary>
81
+ ///
82
+ /// </summary>
83
+ /// <param name="text"></param>
84
+ protected virtual void SetText(string text)
85
+ {
86
+ boxText.autoSizeTextContainer = false;
87
+
88
+ boxText.text = text;
89
+
90
+ boxText.autoSizeTextContainer = true;
91
+
92
+ boxText.ForceMeshUpdate();
93
+ }
94
+
95
+ /// <summary>
96
+ ///
97
+ /// </summary>
98
+ protected virtual void ClearText() => boxText.text = "";
99
+
100
+ /// <summary>
101
+ ///
102
+ /// </summary>
103
+ protected virtual void ResetText()
104
+ {
105
+ boxText.autoSizeTextContainer = false;
106
+
107
+ ClearText();
108
+
109
+ boxText.autoSizeTextContainer = true;
110
+
111
+ boxText.ForceMeshUpdate();
112
+ }
113
+
114
+ /// <summary>
115
+ ///
116
+ /// </summary>
117
+ protected virtual void OnDestroy() => UnsubscribeToEvents();
118
+ }
119
+ }
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: e94ebf2f965205d4b96ab1ff505ab3fd
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -0,0 +1,69 @@
1
+ //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
+ using DREditor.Services;
3
+ using System.Collections.Generic;
4
+ using UnityEngine;
5
+ using DREditor.EventObjects;
6
+
7
+ #if FMOD_UNITY
8
+ using FMODUnity;
9
+ #endif
10
+
11
+ namespace DREditor.Audio
12
+ {
13
+ /// <summary>
14
+ ///
15
+ /// </summary>
16
+ [ClassHeader(nameof(SceneEventListener) +
17
+ "\n\n")]
18
+ public class OnVoiceLineSettingChanged : SceneEventListener
19
+ {
20
+ [Header("")]
21
+ [Divider]
22
+ #if FMOD_UNITY
23
+ /// <summary>
24
+ ///
25
+ /// </summary>
26
+ [Tooltip("")]
27
+ [EventRef]
28
+ [SerializeField] protected string dialogueTestLine = "event:/SFX/UI/Menus/Dialogue Test";
29
+
30
+ /// <summary>
31
+ ///
32
+ /// </summary>
33
+ [Tooltip("")]
34
+ [EventRef]
35
+ [SerializeField] protected List<string> lines = new();
36
+ #else
37
+ /// <summary>
38
+ ///
39
+ /// </summary>
40
+ [Tooltip("")]
41
+ [SerializeField] protected AudioClip dialogueTestLine = null;
42
+
43
+ /// <summary>
44
+ ///
45
+ /// </summary>
46
+ [Tooltip("")]
47
+ [SerializeField] protected List<AudioClip> lines = new();
48
+ #endif
49
+
50
+ /// <inheritdoc/>
51
+ public override void OnEventRaised()
52
+ {
53
+ base.OnEventRaised();
54
+
55
+ PlayVoice();
56
+ }
57
+
58
+ /// <summary>
59
+ ///
60
+ /// </summary>
61
+ protected virtual void PlayVoice()
62
+ {
63
+ if (lines.Count != 0)
64
+ ServiceLocator.GetService<VOManagerBase>().PlayVoiceLine(lines[Random.Range(0, lines.Count - 1)]);
65
+ else
66
+ ServiceLocator.GetService<VOManagerBase>().PlayVoiceLine(dialogueTestLine);
67
+ }
68
+ }
69
+ }
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: e1e7381ce6a45b545a575bc6b47555a3
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -0,0 +1,76 @@
1
+ //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
+ using DREditor.EventObjects;
3
+ using DREditor.EventObjectServices;
4
+ #if FMOD_UNITY
5
+ using FMOD.Studio;
6
+ using FMODUnity;
7
+ #endif
8
+ using UnityEngine;
9
+ #if !FMOD_UNITY
10
+ using UnityEngine.Audio;
11
+ #endif
12
+ namespace DREditor.Audio
13
+ {
14
+ /// <summary>
15
+ ///
16
+ /// </summary>
17
+ [ClassHeader(nameof(ValueWithEventListener<ValueWithEvent<float, FloatEvent>, float, FloatEvent>) +
18
+ "\n\n")]
19
+ public class OptionVolume : ValueWithEventListener<ValueWithEvent<float, FloatEvent>, float, FloatEvent>
20
+ {
21
+ #if FMOD_UNITY
22
+ /// <summary>
23
+ ///
24
+ /// </summary>
25
+ [Tooltip("")]
26
+ [SerializeField] protected string masterBusString = "Bus:/Master/";
27
+
28
+ /// <summary>
29
+ ///
30
+ /// </summary>
31
+ [Tooltip("")]
32
+ [SerializeField] protected string busName = "Music"; // SFX // Dialogue
33
+
34
+
35
+ /// <summary>
36
+ ///
37
+ /// </summary>
38
+ protected Bus fmodBus;
39
+
40
+
41
+ /// <summary>
42
+ ///
43
+ /// </summary>
44
+ protected virtual void Start() => fmodBus = RuntimeManager.GetBus(masterBusString + busName);
45
+
46
+
47
+ /// <inheritdoc/>
48
+ protected override void OnValueChanged(float updatedValue)
49
+ {
50
+ base.OnValueChanged(updatedValue);
51
+
52
+ fmodBus.setVolume(updatedValue);
53
+ }
54
+ #else
55
+ /// <summary>
56
+ ///
57
+ /// </summary>
58
+ [Tooltip("")]
59
+ [SerializeField] protected AudioMixer mixer = null;
60
+
61
+ /// <summary>
62
+ ///
63
+ /// </summary>
64
+ [Tooltip("")]
65
+ [SerializeField] protected string mixerName = "Music";
66
+
67
+
68
+ protected override void OnValueChanged(float updatedValue)
69
+ {
70
+ base.OnValueChanged(updatedValue);
71
+
72
+ mixer.SetFloat(mixerName, updatedValue);
73
+ }
74
+ #endif
75
+ }
76
+ }
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: 5103df9b4750ea64d846fced185ca139
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -0,0 +1,42 @@
1
+ //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
+ using DREditor.Services;
3
+ using UnityEngine;
4
+
5
+ namespace DREditor.Audio
6
+ {
7
+ /// <summary>
8
+ ///
9
+ /// </summary>
10
+ /// <remarks></remarks>
11
+ [DefaultExecutionOrder(1)]
12
+ [ClassHeader("")]
13
+ public class PlaySelectAudioOnUIChange : MonoBehaviour
14
+ {
15
+ /// <summary>
16
+ ///
17
+ /// </summary>
18
+ protected virtual void OnEnable()
19
+ {
20
+ if (ServiceLocator.HasService<UIHandlerBase>())
21
+ ServiceLocator.GetService<UIHandlerBase>().OnChange.AddListener(PlaySelectSound);
22
+ }
23
+
24
+ /// <summary>
25
+ ///
26
+ /// </summary>
27
+ protected virtual void OnDisable()
28
+ {
29
+ if (ServiceLocator.HasService<UIHandlerBase>())
30
+ ServiceLocator.GetService<UIHandlerBase>().OnChange.RemoveListener(PlaySelectSound);
31
+ }
32
+
33
+ /// <summary>
34
+ ///
35
+ /// </summary>
36
+ public virtual void PlaySelectSound()
37
+ {
38
+ if (ServiceLocator.HasService<SFXManagerBase>())
39
+ ServiceLocator.GetService<SFXManagerBase>().PlaySelect();
40
+ }
41
+ }
42
+ }
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: 38ec13236e0b8b74fb709a23295def49
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -0,0 +1,23 @@
1
+ //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
+ using DREditor.Services;
3
+ using UnityEngine;
4
+ using UnityEngine.UI;
5
+
6
+ namespace DREditor.Audio
7
+ {
8
+ /// <summary>
9
+ ///
10
+ /// </summary>
11
+ [ClassHeader("")]
12
+ [RequireComponent(typeof(Button))]
13
+ public class PlaySubmitSFXOnClick : MonoBehaviour
14
+ {
15
+ protected virtual void OnEnable()
16
+ => GetComponent<Button>().onClick.AddListener(PlaySubmitSFX);
17
+
18
+ protected virtual void OnDisable()
19
+ => GetComponent<Button>().onClick.RemoveListener(PlaySubmitSFX);
20
+
21
+ protected virtual void PlaySubmitSFX() => ServiceLocator.GetService<SFXManagerBase>().PlaySubmit();
22
+ }
23
+ }
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: 811e3218741b8b6408cb030aff7f7913
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
package/Playlist.cs ADDED
@@ -0,0 +1,81 @@
1
+ //DRPlaylist script Author: SeleniumSoul for DREditor
2
+ // Cleaned up by Sweden.
3
+ using System.Collections.Generic;
4
+ using UnityEngine;
5
+
6
+ namespace DREditor.Audio
7
+ {
8
+ /// <summary>
9
+ ///
10
+ /// </summary>
11
+ [System.Serializable]
12
+ [CreateAssetMenu(menuName = "DREditor/Audio/Music Playlist", fileName = "New Music Playlist")]
13
+ public class Playlist : ScriptableObject
14
+ {
15
+ /// <summary>
16
+ ///
17
+ /// </summary>
18
+ public List<Music> Musics = new();
19
+
20
+
21
+ /// <summary>
22
+ ///
23
+ /// </summary>
24
+ /// <returns></returns>
25
+ public virtual string[] GetAudioTitles()
26
+ {
27
+ string[] titles = new string[Musics.Count];
28
+
29
+ for (int i = 0; i < Musics.Count; i++)
30
+ titles[i] = Musics[i].Title;
31
+
32
+ return titles;
33
+ }
34
+
35
+ /// <summary>
36
+ ///
37
+ /// </summary>
38
+ /// <returns></returns>
39
+ public virtual int[] GetAudioCount()
40
+ {
41
+ int[] musiccount = new int[Musics.Count];
42
+
43
+ for (int i = 0; i < Musics.Count; i++)
44
+ musiccount[i] = i;
45
+
46
+ return musiccount;
47
+ }
48
+
49
+ /// <summary>
50
+ ///
51
+ /// </summary>
52
+ /// <param name="title"></param>
53
+ /// <returns></returns>
54
+ public virtual AudioClip GetAudioClip(string title)
55
+ {
56
+ foreach (Music music in Musics)
57
+ if (music.Title == title)
58
+ return music.BGM;
59
+
60
+ UnityEngine.Debug.Log("Couldn't find song: " + title);
61
+
62
+ return null;
63
+ }
64
+
65
+ /// <summary>
66
+ ///
67
+ /// </summary>
68
+ /// <param name="clip"></param>
69
+ /// <returns></returns>
70
+ public virtual string GetTitleFromClip(AudioClip clip)
71
+ {
72
+ foreach (Music music in Musics)
73
+ if (music.BGM == clip)
74
+ return music.Title;
75
+
76
+ UnityEngine.Debug.Log("REPORT: Couldn't find Title: " + clip);
77
+
78
+ return null;
79
+ }
80
+ }
81
+ }
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: 32cb6c065c6bb064682b0dc28a0a20e7
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant: