├── .collabignore
├── .gitignore
├── Assets
├── TSM.meta
└── TSM
│ ├── Editor.meta
│ ├── Editor
│ ├── AudioAssetPostProcessor.cs
│ └── AudioAssetPostProcessor.cs.meta
│ ├── Mixer.meta
│ ├── Mixer
│ ├── MainMixer.mixer
│ └── MainMixer.mixer.meta
│ ├── Prefabs.meta
│ ├── Prefabs
│ ├── SoundManager.prefab
│ └── SoundManager.prefab.meta
│ ├── Samples.meta
│ ├── Samples
│ ├── Common.meta
│ ├── Common
│ │ ├── Scripts.meta
│ │ └── Scripts
│ │ │ ├── EnvironmentPlayer.cs
│ │ │ ├── EnvironmentPlayer.cs.meta
│ │ │ ├── InGameAudioPlayerBase.cs
│ │ │ ├── InGameAudioPlayerBase.cs.meta
│ │ │ ├── InGameSePlayer.cs
│ │ │ ├── InGameSePlayer.cs.meta
│ │ │ ├── Rotater.cs
│ │ │ ├── Rotater.cs.meta
│ │ │ ├── SwitchFuncButton.cs
│ │ │ ├── SwitchFuncButton.cs.meta
│ │ │ ├── VolumeConfigUI.cs
│ │ │ ├── VolumeConfigUI.cs.meta
│ │ │ ├── uGUIUtil.cs
│ │ │ └── uGUIUtil.cs.meta
│ ├── SoundTestSample.meta
│ └── SoundTestSample
│ │ ├── AudioClips.meta
│ │ ├── AudioClips
│ │ ├── BGM.meta
│ │ ├── BGM
│ │ │ ├── Dysipe.wav
│ │ │ ├── Dysipe.wav.meta
│ │ │ ├── Fepu.aif
│ │ │ └── Fepu.aif.meta
│ │ ├── Environment.meta
│ │ ├── GameSe.meta
│ │ ├── GameSe
│ │ │ ├── Damage.wav
│ │ │ ├── Damage.wav.meta
│ │ │ ├── Heal.wav
│ │ │ └── Heal.wav.meta
│ │ ├── Jingle.meta
│ │ ├── Jingle
│ │ │ ├── Notice.wav
│ │ │ └── Notice.wav.meta
│ │ ├── MenuSe.meta
│ │ └── MenuSe
│ │ │ ├── Dead.wav
│ │ │ ├── Dead.wav.meta
│ │ │ ├── Laser.wav
│ │ │ └── Laser.wav.meta
│ │ ├── Scripts.meta
│ │ ├── Scripts
│ │ ├── SoundTestMain.cs
│ │ ├── SoundTestMain.cs.meta
│ │ ├── SoundTestUI.cs
│ │ └── SoundTestUI.cs.meta
│ │ ├── SoundTestSample.unity
│ │ └── SoundTestSample.unity.meta
│ ├── Scripts.meta
│ └── Scripts
│ ├── AudioMiexerExtention.cs
│ ├── AudioMiexerExtention.cs.meta
│ ├── AudioMixerManager.cs
│ ├── AudioMixerManager.cs.meta
│ ├── AudioSourceExtention.cs
│ ├── AudioSourceExtention.cs.meta
│ ├── Interface.meta
│ ├── Interface
│ ├── IAudioPausable.cs
│ └── IAudioPausable.cs.meta
│ ├── SoundManager.cs
│ └── SoundManager.cs.meta
├── LICENSE
├── ProjectSettings
├── AudioManager.asset
├── ClusterInputManager.asset
├── DynamicsManager.asset
├── EditorSettings.asset
├── InputManager.asset
├── NavMeshAreas.asset
├── NetworkManager.asset
├── Physics2DSettings.asset
├── ProjectVersion.txt
├── QualitySettings.asset
└── TimeManager.asset
├── README.md
└── img
├── TSMDemoScreenshot1.png
└── TSMDemoScreenshot2.png
/.collabignore:
--------------------------------------------------------------------------------
1 | # ===========================
2 | # Default Collab Ignore Rules
3 | # ===========================
4 |
5 | # OS Generated
6 | # ============
7 | .DS_Store
8 | ._*
9 | .Spotlight-V100
10 | .Trashes
11 | Icon?
12 | ehthumbs.db
13 | [Tt]humbs.db
14 | [Dd]esktop.ini
15 |
16 | # Visual Studio / MonoDevelop generated
17 | # =====================================
18 | [Ee]xported[Oo]bj/
19 | *.userprefs
20 | *.csproj
21 | *.pidb
22 | *.suo
23 | *.sln
24 | *.user
25 | *.unityproj
26 | *.booproj
27 |
28 | # Unity generated
29 | # ===============
30 | [Oo]bj/
31 | [Bb]uild
32 | sysinfo.txt
33 | *.stackdump
34 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /[Ll]ibrary/
2 | /[Tt]emp/
3 | /[Oo]bj/
4 | /[Bb]uild/
5 | /[Bb]uilds/
6 | /Assets/AssetStoreTools*
7 | /ProjectSettings*
8 |
9 |
10 | /Assets/TSM/Samples/AdventureSample*
11 | /Assets/TSM/Editor/NotInclude*
12 | /Assets/TSM/Samples/MinimumAudioPlaySample*
13 | .vs
14 |
15 | # Autogenerated VS/MD solution and project files
16 | ExportedObj/
17 | *.csproj
18 | *.unityproj
19 | *.sln
20 | *.suo
21 | *.tmp
22 | *.user
23 | *.userprefs
24 | *.pidb
25 | *.booproj
26 | *.svd
27 |
28 | # Unity3D generated meta files
29 | *.pidb.meta
30 |
31 | # Unity3D Generated File On Crash Reports
32 | sysinfo.txt
33 |
34 | # Builds
35 | *.apk
--------------------------------------------------------------------------------
/Assets/TSM.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c080eeecf657ce54593739c8b3f480ba
3 | folderAsset: yes
4 | timeCreated: 1515296086
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/TSM/Editor.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3c7d9880caebd634eac092608553e3af
3 | folderAsset: yes
4 | timeCreated: 1519728538
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/TSM/Editor/AudioAssetPostProcessor.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using UnityEditor;
3 |
4 | public class AudioAssetPostProcessor : AssetPostprocessor
5 | {
6 | private static readonly string AUDIOCLIP_FOLDER = "AudioClips/";
7 | private static readonly string BGM = "BGM";
8 | private static readonly string GAMESE = "GameSe";
9 | private static readonly string MENUSE = "MenuSe";
10 | private static readonly string JINGLE = "Jingle";
11 | private static readonly string VOICE = "Voice";
12 | private static readonly string ENVIRONMENT = "Environment";
13 |
14 | private static readonly string PLATFORM_Android = "Android";
15 | private static readonly string PLATFORM_Standalone = "Standalone";
16 |
17 | private void OnPostprocessAudio(AudioClip audioClip)
18 | {
19 | AudioImporter audioImporter = assetImporter as AudioImporter;
20 |
21 | string path = audioImporter.assetPath;
22 |
23 | if (!path.Contains(AUDIOCLIP_FOLDER))
24 | {
25 | return;
26 | }
27 |
28 | //AudioClips/以降のパスを切り出し//
29 | path = path.Substring(path.IndexOf(AUDIOCLIP_FOLDER) + AUDIOCLIP_FOLDER.Length);
30 |
31 | //SE系は全部モノラル化//
32 | audioImporter.forceToMono = path.Contains(MENUSE) || path.Contains(GAMESE);
33 |
34 | //BGMは全部バックグラウンド読み込み//
35 | audioImporter.loadInBackground = path.Contains(BGM);
36 |
37 |
38 | //Defaultの設定//
39 | AudioImporterSampleSettings defaultSettings = audioImporter.defaultSampleSettings;
40 |
41 | if (path.Contains(BGM) || path.Contains(VOICE))
42 | {
43 | //BGMまたはボイスならストリーミング再生//
44 | defaultSettings.loadType = AudioClipLoadType.Streaming;
45 | }
46 | else
47 | {
48 | //それ以外はメモリ内圧縮//
49 | defaultSettings.loadType = AudioClipLoadType.CompressedInMemory;
50 |
51 | //Androidの圧縮設定(再生レイテンシーのためにメモリに展開するという想定)//
52 | AudioImporterSampleSettings androidSettings = audioImporter.GetOverrideSampleSettings(PLATFORM_Android);
53 | androidSettings.loadType = AudioClipLoadType.DecompressOnLoad;
54 | audioImporter.SetOverrideSampleSettings(PLATFORM_Android, androidSettings);
55 | }
56 |
57 | //圧縮設定//
58 | defaultSettings.compressionFormat = AudioCompressionFormat.Vorbis;
59 | defaultSettings.quality = 0.2f;
60 |
61 | audioImporter.defaultSampleSettings = defaultSettings;
62 |
63 | //PC、Macのは圧縮率を低めに(ファイル容量に余裕があるという想定)//
64 | AudioImporterSampleSettings standaloneSettings = audioImporter.GetOverrideSampleSettings(PLATFORM_Standalone);
65 | standaloneSettings.quality = 0.8f;
66 | audioImporter.SetOverrideSampleSettings(PLATFORM_Standalone, standaloneSettings);
67 |
68 | }
69 |
70 | private static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths)
71 | {
72 | //ディレクトリ移動の場合もインポートを発生させてOnPostprocessAudioを呼ぶ//
73 | foreach (string path in movedAssets)
74 | {
75 | if (path.Contains(AUDIOCLIP_FOLDER))
76 | {
77 | AssetDatabase.ImportAsset(path, ImportAssetOptions.ForceUpdate);
78 | }
79 | }
80 | }
81 |
82 | }
--------------------------------------------------------------------------------
/Assets/TSM/Editor/AudioAssetPostProcessor.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1deec70d5c058c145a5fbd7e7ad3d351
3 | timeCreated: 1520869333
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/TSM/Mixer.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9b8b1b170c2a108458c8cf5c888024b5
3 | folderAsset: yes
4 | timeCreated: 1515495702
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/TSM/Mixer/MainMixer.mixer:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!241 &24100000
4 | AudioMixerController:
5 | m_ObjectHideFlags: 0
6 | m_PrefabParentObject: {fileID: 0}
7 | m_PrefabInternal: {fileID: 0}
8 | m_Name: MainMixer
9 | m_OutputGroup: {fileID: 0}
10 | m_MasterGroup: {fileID: 24300002}
11 | m_Snapshots:
12 | - {fileID: 24500006}
13 | m_StartSnapshot: {fileID: 24500006}
14 | m_SuspendThreshold: -80
15 | m_EnableSuspend: 1
16 | m_UpdateMode: 0
17 | m_ExposedParameters:
18 | - guid: d0d3f22e27eae614d894aa0c972fc5fe
19 | name: BGMVolume
20 | - guid: 319658b99e2c6de48905b7e8382ec762
21 | name: GameSEVolume
22 | - guid: 01123e28839061c48803301040ea546a
23 | name: MasterVolume
24 | m_AudioMixerGroupViews:
25 | - guids:
26 | - 323d0f2280cab1740ba55cbd2d5ef3bf
27 | - bb9f4ae083eca46498fc0df03d92cbdf
28 | - df77c065cb1a606469943e9d543e168d
29 | - 66dc28a9390457e43a81a8904c8b919d
30 | - fe813d4babbdc1e4285a131cba509a4f
31 | - 6682852f3df11304f8e3b090f723a1b8
32 | - a670a5491cdbb504682a0afac1893546
33 | name: View
34 | m_CurrentViewIndex: 0
35 | m_TargetSnapshot: {fileID: 24500006}
36 | --- !u!243 &24300002
37 | AudioMixerGroupController:
38 | m_ObjectHideFlags: 0
39 | m_PrefabParentObject: {fileID: 0}
40 | m_PrefabInternal: {fileID: 0}
41 | m_Name: Master
42 | m_AudioMixer: {fileID: 24100000}
43 | m_GroupID: 323d0f2280cab1740ba55cbd2d5ef3bf
44 | m_Children:
45 | - {fileID: 243183214261574758}
46 | - {fileID: 243102211508376876}
47 | - {fileID: 243504967571775006}
48 | - {fileID: 243128139564549372}
49 | - {fileID: 243080728132002748}
50 | - {fileID: 243359806670065938}
51 | m_Volume: 01123e28839061c48803301040ea546a
52 | m_Pitch: 8398068ee83d09542a8cf178b357eabb
53 | m_Effects:
54 | - {fileID: 24400004}
55 | m_UserColorIndex: 0
56 | m_Mute: 0
57 | m_Solo: 0
58 | m_BypassEffects: 0
59 | --- !u!244 &24400004
60 | AudioMixerEffectController:
61 | m_ObjectHideFlags: 3
62 | m_PrefabParentObject: {fileID: 0}
63 | m_PrefabInternal: {fileID: 0}
64 | m_Name:
65 | m_EffectID: c6e5da9fecbc1354ea87ff9733d02113
66 | m_EffectName: Attenuation
67 | m_MixLevel: 3b89e70281d3a4d4bb5c708c339ffa1e
68 | m_Parameters: []
69 | m_SendTarget: {fileID: 0}
70 | m_EnableWetMix: 0
71 | m_Bypass: 0
72 | --- !u!245 &24500006
73 | AudioMixerSnapshotController:
74 | m_ObjectHideFlags: 0
75 | m_PrefabParentObject: {fileID: 0}
76 | m_PrefabInternal: {fileID: 0}
77 | m_Name: Snapshot
78 | m_AudioMixer: {fileID: 24100000}
79 | m_SnapshotID: 56840b58e4042a74bb932bbac1725cff
80 | m_FloatValues:
81 | 7dcb630258efa5f4fb2a99c878047280: 2.3499997
82 | 586653e28ab996047b93139ebe06ea87: -37
83 | f019d1f264a014a48bf60729faf7d665: 0
84 | 0a00c1943a59ab149b3f570ace5d6aeb: 1
85 | 90a002955d1199441a44975ac1a3158b: 0
86 | b46a04c5c85731b44b256e09ccbef9e6: 1
87 | 07bfbdd57be93434d9c826f8f068948a: 0.1
88 | 01123e28839061c48803301040ea546a: -5.7224774
89 | 319658b99e2c6de48905b7e8382ec762: 0.10800299
90 | 9688693a058cbc5428cb7e72f97c2607: 0.1
91 | 8ba1658d1ca5f56449191cd5a6361312: 10
92 | d0d3f22e27eae614d894aa0c972fc5fe: 0.04171297
93 | m_TransitionOverrides: {}
94 | --- !u!243 &243080728132002748
95 | AudioMixerGroupController:
96 | m_ObjectHideFlags: 0
97 | m_PrefabParentObject: {fileID: 0}
98 | m_PrefabInternal: {fileID: 0}
99 | m_Name: Jingle
100 | m_AudioMixer: {fileID: 24100000}
101 | m_GroupID: 6682852f3df11304f8e3b090f723a1b8
102 | m_Children: []
103 | m_Volume: 2bd1348b6b091f543942d86e3eaddaf7
104 | m_Pitch: e7d9491971a98414f83d8f1b8ac7b7ec
105 | m_Effects:
106 | - {fileID: 244117540199958236}
107 | - {fileID: 244473335762955976}
108 | m_UserColorIndex: 6
109 | m_Mute: 0
110 | m_Solo: 0
111 | m_BypassEffects: 0
112 | --- !u!243 &243102211508376876
113 | AudioMixerGroupController:
114 | m_ObjectHideFlags: 0
115 | m_PrefabParentObject: {fileID: 0}
116 | m_PrefabInternal: {fileID: 0}
117 | m_Name: MenuSE
118 | m_AudioMixer: {fileID: 24100000}
119 | m_GroupID: df77c065cb1a606469943e9d543e168d
120 | m_Children: []
121 | m_Volume: 16087819265472b40bf2faddbffaabac
122 | m_Pitch: 5c6fc33a7d80533409709aa2fba257e8
123 | m_Effects:
124 | - {fileID: 244232589821107368}
125 | m_UserColorIndex: 2
126 | m_Mute: 0
127 | m_Solo: 0
128 | m_BypassEffects: 0
129 | --- !u!243 &243128139564549372
130 | AudioMixerGroupController:
131 | m_ObjectHideFlags: 0
132 | m_PrefabParentObject: {fileID: 0}
133 | m_PrefabInternal: {fileID: 0}
134 | m_Name: Environment
135 | m_AudioMixer: {fileID: 24100000}
136 | m_GroupID: fe813d4babbdc1e4285a131cba509a4f
137 | m_Children: []
138 | m_Volume: bdf752026beef9a41bb6b87f44a954fc
139 | m_Pitch: 9fa4aa3efd14f26498a132ac448ac0b3
140 | m_Effects:
141 | - {fileID: 244537476879336056}
142 | m_UserColorIndex: 4
143 | m_Mute: 0
144 | m_Solo: 0
145 | m_BypassEffects: 0
146 | --- !u!243 &243183214261574758
147 | AudioMixerGroupController:
148 | m_ObjectHideFlags: 0
149 | m_PrefabParentObject: {fileID: 0}
150 | m_PrefabInternal: {fileID: 0}
151 | m_Name: BGM
152 | m_AudioMixer: {fileID: 24100000}
153 | m_GroupID: bb9f4ae083eca46498fc0df03d92cbdf
154 | m_Children: []
155 | m_Volume: d0d3f22e27eae614d894aa0c972fc5fe
156 | m_Pitch: 0a00c1943a59ab149b3f570ace5d6aeb
157 | m_Effects:
158 | - {fileID: 244522233218829458}
159 | - {fileID: 244003416101847136}
160 | m_UserColorIndex: 1
161 | m_Mute: 0
162 | m_Solo: 0
163 | m_BypassEffects: 0
164 | --- !u!243 &243359806670065938
165 | AudioMixerGroupController:
166 | m_ObjectHideFlags: 0
167 | m_PrefabParentObject: {fileID: 0}
168 | m_PrefabInternal: {fileID: 0}
169 | m_Name: Voice
170 | m_AudioMixer: {fileID: 24100000}
171 | m_GroupID: a670a5491cdbb504682a0afac1893546
172 | m_Children: []
173 | m_Volume: 5483be7def1aa3449a9b363ae3e38dc6
174 | m_Pitch: c4151a5d9bd560b47a38790326d5e524
175 | m_Effects:
176 | - {fileID: 244729068871384542}
177 | m_UserColorIndex: 7
178 | m_Mute: 0
179 | m_Solo: 0
180 | m_BypassEffects: 0
181 | --- !u!243 &243504967571775006
182 | AudioMixerGroupController:
183 | m_ObjectHideFlags: 0
184 | m_PrefabParentObject: {fileID: 0}
185 | m_PrefabInternal: {fileID: 0}
186 | m_Name: GameSE
187 | m_AudioMixer: {fileID: 24100000}
188 | m_GroupID: 66dc28a9390457e43a81a8904c8b919d
189 | m_Children: []
190 | m_Volume: 319658b99e2c6de48905b7e8382ec762
191 | m_Pitch: 599a6f763bcd8f04297b1f49ab09b378
192 | m_Effects:
193 | - {fileID: 244526974958783960}
194 | m_UserColorIndex: 3
195 | m_Mute: 0
196 | m_Solo: 0
197 | m_BypassEffects: 0
198 | --- !u!244 &244003416101847136
199 | AudioMixerEffectController:
200 | m_ObjectHideFlags: 3
201 | m_PrefabParentObject: {fileID: 0}
202 | m_PrefabInternal: {fileID: 0}
203 | m_Name:
204 | m_EffectID: d3e220e21247f104a9378b79f7290848
205 | m_EffectName: Duck Volume
206 | m_MixLevel: da314c024806cdd45812df6e6818f9d6
207 | m_Parameters:
208 | - m_ParameterName: Threshold
209 | m_GUID: 586653e28ab996047b93139ebe06ea87
210 | - m_ParameterName: Ratio
211 | m_GUID: 7dcb630258efa5f4fb2a99c878047280
212 | - m_ParameterName: Attack Time
213 | m_GUID: 9688693a058cbc5428cb7e72f97c2607
214 | - m_ParameterName: Release Time
215 | m_GUID: 07bfbdd57be93434d9c826f8f068948a
216 | - m_ParameterName: Make-up Gain
217 | m_GUID: 90a002955d1199441a44975ac1a3158b
218 | - m_ParameterName: Knee
219 | m_GUID: 8ba1658d1ca5f56449191cd5a6361312
220 | - m_ParameterName: Sidechain Mix
221 | m_GUID: b46a04c5c85731b44b256e09ccbef9e6
222 | m_SendTarget: {fileID: 0}
223 | m_EnableWetMix: 0
224 | m_Bypass: 0
225 | --- !u!244 &244117540199958236
226 | AudioMixerEffectController:
227 | m_ObjectHideFlags: 3
228 | m_PrefabParentObject: {fileID: 0}
229 | m_PrefabInternal: {fileID: 0}
230 | m_Name:
231 | m_EffectID: 30a6ed9c8e44f294bb5b5039a71f709f
232 | m_EffectName: Attenuation
233 | m_MixLevel: 9d5b30b48e6dfc14ab86c84b4b411262
234 | m_Parameters: []
235 | m_SendTarget: {fileID: 0}
236 | m_EnableWetMix: 0
237 | m_Bypass: 0
238 | --- !u!244 &244232589821107368
239 | AudioMixerEffectController:
240 | m_ObjectHideFlags: 3
241 | m_PrefabParentObject: {fileID: 0}
242 | m_PrefabInternal: {fileID: 0}
243 | m_Name:
244 | m_EffectID: eb307f8ac2cacc04db67eb3161df6e45
245 | m_EffectName: Attenuation
246 | m_MixLevel: 181cf56987912614ca7194d751389bcc
247 | m_Parameters: []
248 | m_SendTarget: {fileID: 0}
249 | m_EnableWetMix: 0
250 | m_Bypass: 0
251 | --- !u!244 &244473335762955976
252 | AudioMixerEffectController:
253 | m_ObjectHideFlags: 3
254 | m_PrefabParentObject: {fileID: 0}
255 | m_PrefabInternal: {fileID: 0}
256 | m_Name:
257 | m_EffectID: 07e023fe0b2e6224bac41b2d2e2950cf
258 | m_EffectName: Send
259 | m_MixLevel: f019d1f264a014a48bf60729faf7d665
260 | m_Parameters: []
261 | m_SendTarget: {fileID: 244003416101847136}
262 | m_EnableWetMix: 0
263 | m_Bypass: 0
264 | --- !u!244 &244522233218829458
265 | AudioMixerEffectController:
266 | m_ObjectHideFlags: 3
267 | m_PrefabParentObject: {fileID: 0}
268 | m_PrefabInternal: {fileID: 0}
269 | m_Name:
270 | m_EffectID: e857cb109d97a404abd3b04e578cdc9e
271 | m_EffectName: Attenuation
272 | m_MixLevel: a1331687e64dae4449c0f409587b25fb
273 | m_Parameters: []
274 | m_SendTarget: {fileID: 0}
275 | m_EnableWetMix: 0
276 | m_Bypass: 0
277 | --- !u!244 &244526974958783960
278 | AudioMixerEffectController:
279 | m_ObjectHideFlags: 3
280 | m_PrefabParentObject: {fileID: 0}
281 | m_PrefabInternal: {fileID: 0}
282 | m_Name:
283 | m_EffectID: 4afa846b7b58d864dbc1325199207cab
284 | m_EffectName: Attenuation
285 | m_MixLevel: defc701bec1b0264b9e6350f9227b37d
286 | m_Parameters: []
287 | m_SendTarget: {fileID: 0}
288 | m_EnableWetMix: 0
289 | m_Bypass: 0
290 | --- !u!244 &244537476879336056
291 | AudioMixerEffectController:
292 | m_ObjectHideFlags: 3
293 | m_PrefabParentObject: {fileID: 0}
294 | m_PrefabInternal: {fileID: 0}
295 | m_Name:
296 | m_EffectID: 268a507eaf23f4b43a59bcca023267e0
297 | m_EffectName: Attenuation
298 | m_MixLevel: b8368a1d44705524fb0248daacbcaf2c
299 | m_Parameters: []
300 | m_SendTarget: {fileID: 0}
301 | m_EnableWetMix: 0
302 | m_Bypass: 0
303 | --- !u!244 &244729068871384542
304 | AudioMixerEffectController:
305 | m_ObjectHideFlags: 3
306 | m_PrefabParentObject: {fileID: 0}
307 | m_PrefabInternal: {fileID: 0}
308 | m_Name:
309 | m_EffectID: b5d086fe39e5b07439009dc9ba43b8f4
310 | m_EffectName: Attenuation
311 | m_MixLevel: 3eba9c0c8de9b7f479628859649b6dec
312 | m_Parameters: []
313 | m_SendTarget: {fileID: 0}
314 | m_EnableWetMix: 0
315 | m_Bypass: 0
316 |
--------------------------------------------------------------------------------
/Assets/TSM/Mixer/MainMixer.mixer.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d751c68879be7164cb42b9f56a559e55
3 | timeCreated: 1515315130
4 | licenseType: Pro
5 | NativeFormatImporter:
6 | mainObjectFileID: 24100000
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/TSM/Prefabs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0e33ba524eb28b244baabda52c2e996d
3 | folderAsset: yes
4 | timeCreated: 1519720876
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/TSM/Prefabs/SoundManager.prefab:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1001 &100100000
4 | Prefab:
5 | m_ObjectHideFlags: 1
6 | serializedVersion: 2
7 | m_Modification:
8 | m_TransformParent: {fileID: 0}
9 | m_Modifications: []
10 | m_RemovedComponents: []
11 | m_ParentPrefab: {fileID: 0}
12 | m_RootGameObject: {fileID: 1122329839682064}
13 | m_IsPrefabParent: 1
14 | --- !u!1 &1122329839682064
15 | GameObject:
16 | m_ObjectHideFlags: 0
17 | m_PrefabParentObject: {fileID: 0}
18 | m_PrefabInternal: {fileID: 100100000}
19 | serializedVersion: 5
20 | m_Component:
21 | - component: {fileID: 4273098418744078}
22 | - component: {fileID: 114074309852803038}
23 | - component: {fileID: 114575246403319008}
24 | - component: {fileID: 82686422989272002}
25 | - component: {fileID: 82682412150939026}
26 | - component: {fileID: 82398847482741580}
27 | - component: {fileID: 82176826309701630}
28 | m_Layer: 0
29 | m_Name: SoundManager
30 | m_TagString: Untagged
31 | m_Icon: {fileID: 0}
32 | m_NavMeshLayer: 0
33 | m_StaticEditorFlags: 0
34 | m_IsActive: 1
35 | --- !u!1 &1905103532630804
36 | GameObject:
37 | m_ObjectHideFlags: 0
38 | m_PrefabParentObject: {fileID: 0}
39 | m_PrefabInternal: {fileID: 100100000}
40 | serializedVersion: 5
41 | m_Component:
42 | - component: {fileID: 4767225426985496}
43 | - component: {fileID: 81227399913729192}
44 | m_Layer: 0
45 | m_Name: AudioListener
46 | m_TagString: Untagged
47 | m_Icon: {fileID: 0}
48 | m_NavMeshLayer: 0
49 | m_StaticEditorFlags: 0
50 | m_IsActive: 1
51 | --- !u!4 &4273098418744078
52 | Transform:
53 | m_ObjectHideFlags: 1
54 | m_PrefabParentObject: {fileID: 0}
55 | m_PrefabInternal: {fileID: 100100000}
56 | m_GameObject: {fileID: 1122329839682064}
57 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
58 | m_LocalPosition: {x: 0, y: 0, z: 0}
59 | m_LocalScale: {x: 1, y: 1, z: 1}
60 | m_Children:
61 | - {fileID: 4767225426985496}
62 | m_Father: {fileID: 0}
63 | m_RootOrder: 0
64 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
65 | --- !u!4 &4767225426985496
66 | Transform:
67 | m_ObjectHideFlags: 1
68 | m_PrefabParentObject: {fileID: 0}
69 | m_PrefabInternal: {fileID: 100100000}
70 | m_GameObject: {fileID: 1905103532630804}
71 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
72 | m_LocalPosition: {x: 0, y: 0, z: 0}
73 | m_LocalScale: {x: 1, y: 1, z: 1}
74 | m_Children: []
75 | m_Father: {fileID: 4273098418744078}
76 | m_RootOrder: 0
77 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
78 | --- !u!81 &81227399913729192
79 | AudioListener:
80 | m_ObjectHideFlags: 1
81 | m_PrefabParentObject: {fileID: 0}
82 | m_PrefabInternal: {fileID: 100100000}
83 | m_GameObject: {fileID: 1905103532630804}
84 | m_Enabled: 1
85 | --- !u!82 &82176826309701630
86 | AudioSource:
87 | m_ObjectHideFlags: 1
88 | m_PrefabParentObject: {fileID: 0}
89 | m_PrefabInternal: {fileID: 100100000}
90 | m_GameObject: {fileID: 1122329839682064}
91 | m_Enabled: 1
92 | serializedVersion: 4
93 | OutputAudioMixerGroup: {fileID: 243080728132002748, guid: d751c68879be7164cb42b9f56a559e55,
94 | type: 2}
95 | m_audioClip: {fileID: 0}
96 | m_PlayOnAwake: 1
97 | m_Volume: 1
98 | m_Pitch: 1
99 | Loop: 0
100 | Mute: 0
101 | Spatialize: 0
102 | SpatializePostEffects: 0
103 | Priority: 128
104 | DopplerLevel: 1
105 | MinDistance: 1
106 | MaxDistance: 500
107 | Pan2D: 0
108 | rolloffMode: 0
109 | BypassEffects: 0
110 | BypassListenerEffects: 0
111 | BypassReverbZones: 0
112 | rolloffCustomCurve:
113 | serializedVersion: 2
114 | m_Curve:
115 | - serializedVersion: 2
116 | time: 0
117 | value: 1
118 | inSlope: 0
119 | outSlope: 0
120 | tangentMode: 0
121 | - serializedVersion: 2
122 | time: 1
123 | value: 0
124 | inSlope: 0
125 | outSlope: 0
126 | tangentMode: 0
127 | m_PreInfinity: 2
128 | m_PostInfinity: 2
129 | m_RotationOrder: 4
130 | panLevelCustomCurve:
131 | serializedVersion: 2
132 | m_Curve:
133 | - serializedVersion: 2
134 | time: 0
135 | value: 0
136 | inSlope: 0
137 | outSlope: 0
138 | tangentMode: 0
139 | m_PreInfinity: 2
140 | m_PostInfinity: 2
141 | m_RotationOrder: 0
142 | spreadCustomCurve:
143 | serializedVersion: 2
144 | m_Curve:
145 | - serializedVersion: 2
146 | time: 0
147 | value: 0
148 | inSlope: 0
149 | outSlope: 0
150 | tangentMode: 0
151 | m_PreInfinity: 2
152 | m_PostInfinity: 2
153 | m_RotationOrder: 0
154 | reverbZoneMixCustomCurve:
155 | serializedVersion: 2
156 | m_Curve:
157 | - serializedVersion: 2
158 | time: 0
159 | value: 1
160 | inSlope: 0
161 | outSlope: 0
162 | tangentMode: 0
163 | m_PreInfinity: 2
164 | m_PostInfinity: 2
165 | m_RotationOrder: 0
166 | --- !u!82 &82398847482741580
167 | AudioSource:
168 | m_ObjectHideFlags: 1
169 | m_PrefabParentObject: {fileID: 0}
170 | m_PrefabInternal: {fileID: 100100000}
171 | m_GameObject: {fileID: 1122329839682064}
172 | m_Enabled: 1
173 | serializedVersion: 4
174 | OutputAudioMixerGroup: {fileID: 243183214261574758, guid: d751c68879be7164cb42b9f56a559e55,
175 | type: 2}
176 | m_audioClip: {fileID: 0}
177 | m_PlayOnAwake: 0
178 | m_Volume: 1
179 | m_Pitch: 1
180 | Loop: 1
181 | Mute: 0
182 | Spatialize: 0
183 | SpatializePostEffects: 0
184 | Priority: 128
185 | DopplerLevel: 1
186 | MinDistance: 1
187 | MaxDistance: 500
188 | Pan2D: 0
189 | rolloffMode: 0
190 | BypassEffects: 0
191 | BypassListenerEffects: 0
192 | BypassReverbZones: 0
193 | rolloffCustomCurve:
194 | serializedVersion: 2
195 | m_Curve:
196 | - serializedVersion: 2
197 | time: 0
198 | value: 1
199 | inSlope: 0
200 | outSlope: 0
201 | tangentMode: 0
202 | - serializedVersion: 2
203 | time: 1
204 | value: 0
205 | inSlope: 0
206 | outSlope: 0
207 | tangentMode: 0
208 | m_PreInfinity: 2
209 | m_PostInfinity: 2
210 | m_RotationOrder: 4
211 | panLevelCustomCurve:
212 | serializedVersion: 2
213 | m_Curve:
214 | - serializedVersion: 2
215 | time: 0
216 | value: 0
217 | inSlope: 0
218 | outSlope: 0
219 | tangentMode: 0
220 | m_PreInfinity: 2
221 | m_PostInfinity: 2
222 | m_RotationOrder: 0
223 | spreadCustomCurve:
224 | serializedVersion: 2
225 | m_Curve:
226 | - serializedVersion: 2
227 | time: 0
228 | value: 0
229 | inSlope: 0
230 | outSlope: 0
231 | tangentMode: 0
232 | m_PreInfinity: 2
233 | m_PostInfinity: 2
234 | m_RotationOrder: 0
235 | reverbZoneMixCustomCurve:
236 | serializedVersion: 2
237 | m_Curve:
238 | - serializedVersion: 2
239 | time: 0
240 | value: 1
241 | inSlope: 0
242 | outSlope: 0
243 | tangentMode: 0
244 | m_PreInfinity: 2
245 | m_PostInfinity: 2
246 | m_RotationOrder: 0
247 | --- !u!82 &82682412150939026
248 | AudioSource:
249 | m_ObjectHideFlags: 1
250 | m_PrefabParentObject: {fileID: 0}
251 | m_PrefabInternal: {fileID: 100100000}
252 | m_GameObject: {fileID: 1122329839682064}
253 | m_Enabled: 1
254 | serializedVersion: 4
255 | OutputAudioMixerGroup: {fileID: 243183214261574758, guid: d751c68879be7164cb42b9f56a559e55,
256 | type: 2}
257 | m_audioClip: {fileID: 0}
258 | m_PlayOnAwake: 0
259 | m_Volume: 1
260 | m_Pitch: 1
261 | Loop: 1
262 | Mute: 0
263 | Spatialize: 0
264 | SpatializePostEffects: 0
265 | Priority: 128
266 | DopplerLevel: 1
267 | MinDistance: 1
268 | MaxDistance: 500
269 | Pan2D: 0
270 | rolloffMode: 0
271 | BypassEffects: 0
272 | BypassListenerEffects: 0
273 | BypassReverbZones: 0
274 | rolloffCustomCurve:
275 | serializedVersion: 2
276 | m_Curve:
277 | - serializedVersion: 2
278 | time: 0
279 | value: 1
280 | inSlope: 0
281 | outSlope: 0
282 | tangentMode: 0
283 | - serializedVersion: 2
284 | time: 1
285 | value: 0
286 | inSlope: 0
287 | outSlope: 0
288 | tangentMode: 0
289 | m_PreInfinity: 2
290 | m_PostInfinity: 2
291 | m_RotationOrder: 4
292 | panLevelCustomCurve:
293 | serializedVersion: 2
294 | m_Curve:
295 | - serializedVersion: 2
296 | time: 0
297 | value: 0
298 | inSlope: 0
299 | outSlope: 0
300 | tangentMode: 0
301 | m_PreInfinity: 2
302 | m_PostInfinity: 2
303 | m_RotationOrder: 0
304 | spreadCustomCurve:
305 | serializedVersion: 2
306 | m_Curve:
307 | - serializedVersion: 2
308 | time: 0
309 | value: 0
310 | inSlope: 0
311 | outSlope: 0
312 | tangentMode: 0
313 | m_PreInfinity: 2
314 | m_PostInfinity: 2
315 | m_RotationOrder: 0
316 | reverbZoneMixCustomCurve:
317 | serializedVersion: 2
318 | m_Curve:
319 | - serializedVersion: 2
320 | time: 0
321 | value: 1
322 | inSlope: 0
323 | outSlope: 0
324 | tangentMode: 0
325 | m_PreInfinity: 2
326 | m_PostInfinity: 2
327 | m_RotationOrder: 0
328 | --- !u!82 &82686422989272002
329 | AudioSource:
330 | m_ObjectHideFlags: 1
331 | m_PrefabParentObject: {fileID: 0}
332 | m_PrefabInternal: {fileID: 100100000}
333 | m_GameObject: {fileID: 1122329839682064}
334 | m_Enabled: 1
335 | serializedVersion: 4
336 | OutputAudioMixerGroup: {fileID: 243102211508376876, guid: d751c68879be7164cb42b9f56a559e55,
337 | type: 2}
338 | m_audioClip: {fileID: 0}
339 | m_PlayOnAwake: 0
340 | m_Volume: 1
341 | m_Pitch: 1
342 | Loop: 0
343 | Mute: 0
344 | Spatialize: 0
345 | SpatializePostEffects: 0
346 | Priority: 128
347 | DopplerLevel: 1
348 | MinDistance: 1
349 | MaxDistance: 500
350 | Pan2D: 0
351 | rolloffMode: 0
352 | BypassEffects: 0
353 | BypassListenerEffects: 0
354 | BypassReverbZones: 0
355 | rolloffCustomCurve:
356 | serializedVersion: 2
357 | m_Curve:
358 | - serializedVersion: 2
359 | time: 0
360 | value: 1
361 | inSlope: 0
362 | outSlope: 0
363 | tangentMode: 0
364 | - serializedVersion: 2
365 | time: 1
366 | value: 0
367 | inSlope: 0
368 | outSlope: 0
369 | tangentMode: 0
370 | m_PreInfinity: 2
371 | m_PostInfinity: 2
372 | m_RotationOrder: 4
373 | panLevelCustomCurve:
374 | serializedVersion: 2
375 | m_Curve:
376 | - serializedVersion: 2
377 | time: 0
378 | value: 0
379 | inSlope: 0
380 | outSlope: 0
381 | tangentMode: 0
382 | m_PreInfinity: 2
383 | m_PostInfinity: 2
384 | m_RotationOrder: 0
385 | spreadCustomCurve:
386 | serializedVersion: 2
387 | m_Curve:
388 | - serializedVersion: 2
389 | time: 0
390 | value: 0
391 | inSlope: 0
392 | outSlope: 0
393 | tangentMode: 0
394 | m_PreInfinity: 2
395 | m_PostInfinity: 2
396 | m_RotationOrder: 0
397 | reverbZoneMixCustomCurve:
398 | serializedVersion: 2
399 | m_Curve:
400 | - serializedVersion: 2
401 | time: 0
402 | value: 1
403 | inSlope: 0
404 | outSlope: 0
405 | tangentMode: 0
406 | m_PreInfinity: 2
407 | m_PostInfinity: 2
408 | m_RotationOrder: 0
409 | --- !u!114 &114074309852803038
410 | MonoBehaviour:
411 | m_ObjectHideFlags: 1
412 | m_PrefabParentObject: {fileID: 0}
413 | m_PrefabInternal: {fileID: 100100000}
414 | m_GameObject: {fileID: 1122329839682064}
415 | m_Enabled: 1
416 | m_EditorHideFlags: 0
417 | m_Script: {fileID: 11500000, guid: 951cc85264557224699905e30d1a2043, type: 3}
418 | m_Name:
419 | m_EditorClassIdentifier:
420 | audioMixermanager: {fileID: 114575246403319008}
421 | audioListenerTransform: {fileID: 4767225426985496}
422 | audioSourceMenuSe: {fileID: 82686422989272002}
423 | audioSourceJingle: {fileID: 82176826309701630}
424 | audioSourceBGMList:
425 | - {fileID: 82682412150939026}
426 | - {fileID: 82398847482741580}
427 | menuSeAudioClipList:
428 | - {fileID: 8300000, guid: 257b50d6f60e31244932f562cd8fd213, type: 3}
429 | bgmAudioClipList:
430 | - {fileID: 8300000, guid: ad4d63abb50daed458eff95a2eb1736a, type: 3}
431 | - {fileID: 8300000, guid: 7639810db4464ca4f948d885b8474b32, type: 3}
432 | jingleClipList:
433 | - {fileID: 8300000, guid: 3fde096b6a5e1c94491b188ca77ab794, type: 3}
434 | --- !u!114 &114575246403319008
435 | MonoBehaviour:
436 | m_ObjectHideFlags: 1
437 | m_PrefabParentObject: {fileID: 0}
438 | m_PrefabInternal: {fileID: 100100000}
439 | m_GameObject: {fileID: 1122329839682064}
440 | m_Enabled: 1
441 | m_EditorHideFlags: 0
442 | m_Script: {fileID: 11500000, guid: 0ba8072590a582340a40013d247a5b4c, type: 3}
443 | m_Name:
444 | m_EditorClassIdentifier:
445 | audioMixer: {fileID: 24100000, guid: d751c68879be7164cb42b9f56a559e55, type: 2}
446 | master: {fileID: 24300002, guid: d751c68879be7164cb42b9f56a559e55, type: 2}
447 | bgm: {fileID: 243183214261574758, guid: d751c68879be7164cb42b9f56a559e55, type: 2}
448 | environment: {fileID: 243128139564549372, guid: d751c68879be7164cb42b9f56a559e55,
449 | type: 2}
450 | gameSe: {fileID: 243504967571775006, guid: d751c68879be7164cb42b9f56a559e55, type: 2}
451 | menuSe: {fileID: 243102211508376876, guid: d751c68879be7164cb42b9f56a559e55, type: 2}
452 | voice: {fileID: 243359806670065938, guid: d751c68879be7164cb42b9f56a559e55, type: 2}
453 | jingle: {fileID: 243080728132002748, guid: d751c68879be7164cb42b9f56a559e55, type: 2}
454 |
--------------------------------------------------------------------------------
/Assets/TSM/Prefabs/SoundManager.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6391a0f213348a0429572b253e62e1ee
3 | timeCreated: 1519720884
4 | licenseType: Pro
5 | NativeFormatImporter:
6 | mainObjectFileID: 100100000
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/TSM/Samples.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ca2ba6fe5c1da2047ba01c52f640e0de
3 | folderAsset: yes
4 | timeCreated: 1519721368
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/TSM/Samples/Common.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1c06158941d1e9846a6d3607e7bdf42c
3 | folderAsset: yes
4 | timeCreated: 1520336293
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/TSM/Samples/Common/Scripts.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a12a2c262a692ae4697c4f759d9a1257
3 | folderAsset: yes
4 | timeCreated: 1519386017
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/TSM/Samples/Common/Scripts/EnvironmentPlayer.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using UnityEngine;
4 | using TSM;
5 | using System.Linq;
6 |
7 | ///
8 | /// 3Dオーディオ用にGameObjectコンポーネントに貼り付けたSEに再生処理を行うテストコード
9 | ///
10 |
11 | namespace TSMSample
12 | {
13 | public class EnvironmentPlayer : InGameAudioPlayerBase
14 | {
15 | [SerializeField]
16 | private float volume = 0.3f;
17 |
18 | [SerializeField]
19 | private bool isRandomStart = true;
20 |
21 | public override void Start()
22 | {
23 | base.Start();
24 |
25 | if (audioSource.clip == null)
26 | {
27 | AudioClip audioClip = audioClipList.FirstOrDefault();
28 |
29 | if (audioClip != null)
30 | {
31 | StartCoroutine(audioSource.PlayWithFadeIn(audioClip, volume, 0.5f, isRandomStart));
32 | }
33 | }
34 | else
35 | {
36 | StartCoroutine(audioSource.PlayWithFadeIn(audioSource.clip, volume, 0.5f, isRandomStart));
37 | }
38 | }
39 |
40 | public override void Reset()
41 | {
42 | base.Reset();
43 | audioSource.loop = true;
44 | audioSource.spatialBlend = 0f;//2Dオーディオ設定//
45 | }
46 | }
47 | }
--------------------------------------------------------------------------------
/Assets/TSM/Samples/Common/Scripts/EnvironmentPlayer.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 744ba401993dfeb42af30cab1e6fc062
3 | timeCreated: 1520921233
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/TSM/Samples/Common/Scripts/InGameAudioPlayerBase.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using System.Collections;
3 | using TSM;
4 | using System.Collections.Generic;
5 | using System.Linq;
6 |
7 | namespace TSMSample
8 | {
9 | [RequireComponent(typeof(AudioSource))]
10 | public abstract class InGameAudioPlayerBase : MonoBehaviour, IAudioPausable
11 | {
12 | [SerializeField]
13 | protected AudioSource audioSource;
14 |
15 | [SerializeField]
16 | protected List audioClipList;
17 |
18 | [SerializeField]
19 | public bool audoPlay = false;
20 |
21 | public bool IsPaused { get; private set; }
22 |
23 | public virtual void Start()
24 | {
25 | SoundManager.Instance.SetPausableList(this);
26 |
27 | if (audoPlay)
28 | {
29 | PlayDefault();
30 | }
31 | }
32 |
33 | public virtual void PlayDefault()
34 | {
35 | if (audioSource.clip == null)
36 | {
37 | AudioClip audioClip = audioClipList.FirstOrDefault();
38 |
39 | if (audioClip != null)
40 | {
41 | audioSource.Play(audioClip);
42 | }
43 | }
44 | else
45 | {
46 | audioSource.Play();
47 | }
48 | }
49 |
50 | //再生中だったら再生をキャンセルする//
51 | public virtual bool PlayIfPossible()
52 | {
53 | if (audioSource.isPlaying)
54 | {
55 | return false;
56 | }
57 | else
58 | {
59 | PlayDefault();
60 | return true;
61 | }
62 | }
63 |
64 | public virtual void Pause()
65 | {
66 | IsPaused = true;
67 | audioSource.Pause();
68 | }
69 |
70 | public virtual void Resume()
71 | {
72 | IsPaused = false;
73 | audioSource.UnPause();
74 | }
75 |
76 | public virtual void OnDestroy()
77 | {
78 | SoundManager.Instance.RemovePausableList(this);
79 | }
80 |
81 | public virtual void Reset()
82 | {
83 | audioSource = GetComponent();
84 | audioSource.playOnAwake = false;
85 | }
86 | }
87 | }
--------------------------------------------------------------------------------
/Assets/TSM/Samples/Common/Scripts/InGameAudioPlayerBase.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3f6efa0cd3dfe924f81e4c7ad368086b
3 | timeCreated: 1522108018
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/TSM/Samples/Common/Scripts/InGameSePlayer.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using UnityEngine;
5 | using TSM;
6 |
7 | ///
8 | /// 3Dオーディオ用にGameObjectコンポーネントに貼り付けたSEに再生処理を行うテストコード
9 | ///
10 |
11 | namespace TSMSample
12 | {
13 | public class InGameSePlayer : InGameAudioPlayerBase
14 | {
15 | public override void Start()
16 | {
17 | base.Start();
18 |
19 | audioSource.outputAudioMixerGroup = SoundManager.Instance.GetAudioMixerManager().GetGameSeAudioMixerGroup();
20 | }
21 |
22 | public void PlaySe(string seName)
23 | {
24 | AudioClip audioClip = audioClipList.FirstOrDefault(clip => clip.name == seName);
25 |
26 | if (audioClip != null)
27 | {
28 | audioSource.pitch = 1f;
29 | audioSource.Play(audioClip);
30 | }
31 | }
32 |
33 | public override void PlayDefault()
34 | {
35 | audioSource.pitch = 1f;
36 |
37 | base.PlayDefault();
38 | }
39 |
40 | ///
41 | /// ピッチランダム再生
42 | ///
43 | ///
44 | public void PlaySeRandomPitch(string seName)
45 | {
46 | AudioClip audioClip = audioClipList.FirstOrDefault(clip => clip.name == seName);
47 |
48 | if (audioClip != null)
49 | {
50 | audioSource.pitch = Random.Range(0.8f, 1.2f);
51 | audioSource.Play(audioClip);
52 | }
53 | }
54 |
55 | public override void Reset()
56 | {
57 | base.Reset();
58 | audioSource.spatialBlend = 1f;//3Dオーディオ全振り//
59 | }
60 | }
61 | }
--------------------------------------------------------------------------------
/Assets/TSM/Samples/Common/Scripts/InGameSePlayer.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 96554801a3de0c842a8f132eaf44a215
3 | timeCreated: 1515740352
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/TSM/Samples/Common/Scripts/Rotater.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 |
3 | namespace TSMSample
4 | {
5 | public class Rotater : MonoBehaviour
6 | {
7 | [SerializeField]
8 | private float speed = 1f;
9 | private Transform thisTransform;
10 |
11 | private void Awake()
12 | {
13 | thisTransform = this.transform;
14 | }
15 |
16 | private void Update()
17 | {
18 | thisTransform.Rotate(Vector3.up * speed * Time.deltaTime);
19 | }
20 |
21 | }
22 | }
--------------------------------------------------------------------------------
/Assets/TSM/Samples/Common/Scripts/Rotater.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e319d2f3f44fbc648903e135dd6c2aa5
3 | timeCreated: 1519441408
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/TSM/Samples/Common/Scripts/SwitchFuncButton.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using System.Collections;
3 | using UnityEngine.UI;
4 | using UnityEngine.Events;
5 |
6 | namespace TSMSample
7 | {
8 | [RequireComponent(typeof(Button))]
9 | public class SwitchFuncButton : MonoBehaviour
10 | {
11 | private bool boolState = false;
12 | private UnityAction[] actionArray = new UnityAction[2];
13 | private string[] buttonNameArray = new string[2];
14 |
15 | [SerializeField]
16 | private Button thisButton;
17 |
18 | [SerializeField]
19 | private Text buttonName;
20 |
21 | public void SetEvent(string firstName, UnityAction firstAction, string secondName, UnityAction secondAction)
22 | {
23 | actionArray[0] = firstAction;
24 | actionArray[1] = secondAction;
25 |
26 | buttonNameArray[0] = firstName;
27 | buttonNameArray[1] = secondName;
28 |
29 | buttonName.text = buttonNameArray[boolState ? 1 : 0];
30 | thisButton.onClick.SetListener(OnClick);
31 | }
32 |
33 | private void OnClick()
34 | {
35 | actionArray[boolState ? 1 : 0]();
36 |
37 | boolState = !boolState;
38 | buttonName.text = buttonNameArray[boolState ? 1 : 0];
39 | }
40 | }
41 | }
--------------------------------------------------------------------------------
/Assets/TSM/Samples/Common/Scripts/SwitchFuncButton.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7e2e62607eb06ef4997cf2026bd185ce
3 | timeCreated: 1519437502
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/TSM/Samples/Common/Scripts/VolumeConfigUI.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using UnityEngine;
4 | using UnityEngine.UI;
5 | using UnityEngine.Events;
6 | using UnityEngine.SceneManagement;
7 |
8 | namespace TSMSample
9 | {
10 | public class VolumeConfigUI : MonoBehaviour
11 | {
12 | [SerializeField]
13 | private CanvasGroup canvasGroup;
14 |
15 | [SerializeField]
16 | private Slider masterSlider, bgmSlider, seSlider;
17 |
18 | [SerializeField]
19 | private AudioSource seTestPlayAudioSource;
20 |
21 | private bool testSoundEnable = false;
22 |
23 | private void Start()
24 | {
25 | Hide();
26 | }
27 |
28 | public void Show(float masterVolume, float bgmVolume, float seVolume)
29 | {
30 | masterSlider.value = masterVolume;
31 | bgmSlider.value = bgmVolume;
32 | seSlider.value = seVolume;
33 |
34 | testSoundEnable = true;
35 | canvasGroup.Show();
36 | }
37 |
38 | public void Hide()
39 | {
40 | canvasGroup.Hide();
41 | }
42 |
43 | public void SetMasterSliderEvent(UnityAction sliderCallback)
44 | {
45 | masterSlider.SetValueChangedEvent(sliderCallback);
46 | }
47 |
48 | public void SetBgmSliderEvent(UnityAction sliderCallback)
49 | {
50 | bgmSlider.SetValueChangedEvent(sliderCallback);
51 | }
52 |
53 | public void SetGameSeSliderEvent(UnityAction sliderCallback)
54 | {
55 | sliderCallback += (vol) => { PlayTestSe(); };
56 | seSlider.SetValueChangedEvent(sliderCallback);
57 | }
58 |
59 | private void PlayTestSe()
60 | {
61 | if (testSoundEnable == false || seTestPlayAudioSource.isPlaying) return;
62 |
63 | seTestPlayAudioSource.Play();
64 | }
65 | }
66 | }
--------------------------------------------------------------------------------
/Assets/TSM/Samples/Common/Scripts/VolumeConfigUI.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bc5bf617111d04a4cbb3a3109a961243
3 | timeCreated: 1515751451
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/TSM/Samples/Common/Scripts/uGUIUtil.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using UnityEngine;
3 | using UnityEngine.Events;
4 | using UnityEngine.UI;
5 |
6 | namespace TSMSample
7 | {
8 | public static class UGUIListenerExtention
9 | {
10 | public static void Show(this CanvasGroup canvasGroup)
11 | {
12 | canvasGroup.interactable = true;
13 | canvasGroup.alpha = 1f;
14 | canvasGroup.blocksRaycasts = true;
15 | }
16 |
17 | public static void Hide(this CanvasGroup canvasGroup)
18 | {
19 | canvasGroup.interactable = false;
20 | canvasGroup.alpha = 0f;
21 | canvasGroup.blocksRaycasts = false;
22 | }
23 |
24 | //UnityEventがジェネリックで拡張できないので//
25 | public static void SetValueChangedEvent(this Slider slider, UnityAction sliderCallback)
26 | {
27 | if (slider.onValueChanged != null)
28 | {
29 | slider.onValueChanged.RemoveAllListeners();
30 | }
31 |
32 | slider.onValueChanged.AddListener(sliderCallback);
33 | }
34 |
35 | public static void SetListener(this UnityEvent unityEvent, UnityAction unityAction)
36 | {
37 | unityEvent.RemoveAllListeners();
38 | unityEvent.AddListener(unityAction);
39 | }
40 |
41 | public static IEnumerator FadeIn(this Graphic graphic, float fadeTime = 2f)
42 | {
43 | while (graphic.color.a < 1f)
44 | {
45 | float temp = graphic.color.a + Time.deltaTime / fadeTime;
46 | graphic.SetAlpha(temp);
47 |
48 | yield return null;
49 | }
50 | }
51 |
52 | public static IEnumerator FadeOut(this Graphic graphic, float fadeTime = 2f, UnityAction callback = null)
53 | {
54 | while (graphic.color.a > 0f)
55 | {
56 | float temp = graphic.color.a - Time.deltaTime / fadeTime;
57 | graphic.SetAlpha(temp);
58 |
59 | yield return null;
60 | }
61 |
62 | if (callback != null)
63 | {
64 | callback();
65 | }
66 | }
67 |
68 | public static void SetAlpha(this Graphic graphic, float alpha)
69 | {
70 | graphic.color = new Color(graphic.color.r, graphic.color.g, graphic.color.b, alpha);
71 | }
72 | }
73 | }
--------------------------------------------------------------------------------
/Assets/TSM/Samples/Common/Scripts/uGUIUtil.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7420d9ab73a641e4494df3a215aa8337
3 | timeCreated: 1519386017
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/TSM/Samples/SoundTestSample.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5935a156c391b2b43aa0796a70598328
3 | folderAsset: yes
4 | timeCreated: 1515296079
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/TSM/Samples/SoundTestSample/AudioClips.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7064ea4279a4bd544bac6b9b9712148f
3 | folderAsset: yes
4 | timeCreated: 1523070885
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/TSM/Samples/SoundTestSample/AudioClips/BGM.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0ba809dd0d3daf847b66911c5fa7907e
3 | folderAsset: yes
4 | timeCreated: 1515307650
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/TSM/Samples/SoundTestSample/AudioClips/BGM/Dysipe.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TakaakiIchijo/TypicalSoundManagerForUnity/c770ee37b4285844cad3945116121fec1238471d/Assets/TSM/Samples/SoundTestSample/AudioClips/BGM/Dysipe.wav
--------------------------------------------------------------------------------
/Assets/TSM/Samples/SoundTestSample/AudioClips/BGM/Dysipe.wav.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ad4d63abb50daed458eff95a2eb1736a
3 | timeCreated: 1515307653
4 | licenseType: Pro
5 | AudioImporter:
6 | serializedVersion: 6
7 | defaultSettings:
8 | loadType: 2
9 | sampleRateSetting: 1
10 | sampleRateOverride: 44100
11 | compressionFormat: 1
12 | quality: 0.2
13 | conversionMode: 0
14 | platformSettingOverrides:
15 | 1:
16 | loadType: 2
17 | sampleRateSetting: 1
18 | sampleRateOverride: 44100
19 | compressionFormat: 1
20 | quality: 0.8
21 | conversionMode: 0
22 | forceToMono: 0
23 | normalize: 1
24 | preloadAudioData: 1
25 | loadInBackground: 1
26 | ambisonic: 0
27 | 3D: 1
28 | userData:
29 | assetBundleName:
30 | assetBundleVariant:
31 |
--------------------------------------------------------------------------------
/Assets/TSM/Samples/SoundTestSample/AudioClips/BGM/Fepu.aif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TakaakiIchijo/TypicalSoundManagerForUnity/c770ee37b4285844cad3945116121fec1238471d/Assets/TSM/Samples/SoundTestSample/AudioClips/BGM/Fepu.aif
--------------------------------------------------------------------------------
/Assets/TSM/Samples/SoundTestSample/AudioClips/BGM/Fepu.aif.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7639810db4464ca4f948d885b8474b32
3 | timeCreated: 1515307652
4 | licenseType: Pro
5 | AudioImporter:
6 | serializedVersion: 6
7 | defaultSettings:
8 | loadType: 2
9 | sampleRateSetting: 1
10 | sampleRateOverride: 44100
11 | compressionFormat: 1
12 | quality: 0.2
13 | conversionMode: 0
14 | platformSettingOverrides:
15 | 1:
16 | loadType: 2
17 | sampleRateSetting: 1
18 | sampleRateOverride: 44100
19 | compressionFormat: 1
20 | quality: 0.8
21 | conversionMode: 0
22 | forceToMono: 0
23 | normalize: 1
24 | preloadAudioData: 1
25 | loadInBackground: 1
26 | ambisonic: 0
27 | 3D: 1
28 | userData:
29 | assetBundleName:
30 | assetBundleVariant:
31 |
--------------------------------------------------------------------------------
/Assets/TSM/Samples/SoundTestSample/AudioClips/Environment.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 17285487f3b2bf64583475cf6f63c979
3 | folderAsset: yes
4 | timeCreated: 1520920432
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/TSM/Samples/SoundTestSample/AudioClips/GameSe.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 39040c62842f213458dd714a6fd9e3b5
3 | folderAsset: yes
4 | timeCreated: 1515297251
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/TSM/Samples/SoundTestSample/AudioClips/GameSe/Damage.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TakaakiIchijo/TypicalSoundManagerForUnity/c770ee37b4285844cad3945116121fec1238471d/Assets/TSM/Samples/SoundTestSample/AudioClips/GameSe/Damage.wav
--------------------------------------------------------------------------------
/Assets/TSM/Samples/SoundTestSample/AudioClips/GameSe/Damage.wav.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 201ae03c028c35a428abd45db382ca40
3 | timeCreated: 1515297251
4 | licenseType: Pro
5 | AudioImporter:
6 | serializedVersion: 6
7 | defaultSettings:
8 | loadType: 1
9 | sampleRateSetting: 0
10 | sampleRateOverride: 44100
11 | compressionFormat: 1
12 | quality: 0.2
13 | conversionMode: 0
14 | platformSettingOverrides:
15 | 1:
16 | loadType: 1
17 | sampleRateSetting: 1
18 | sampleRateOverride: 44100
19 | compressionFormat: 1
20 | quality: 0.8
21 | conversionMode: 0
22 | 7:
23 | loadType: 0
24 | sampleRateSetting: 0
25 | sampleRateOverride: 44100
26 | compressionFormat: 1
27 | quality: 0.19
28 | conversionMode: 0
29 | forceToMono: 1
30 | normalize: 1
31 | preloadAudioData: 1
32 | loadInBackground: 0
33 | ambisonic: 0
34 | 3D: 1
35 | userData:
36 | assetBundleName:
37 | assetBundleVariant:
38 |
--------------------------------------------------------------------------------
/Assets/TSM/Samples/SoundTestSample/AudioClips/GameSe/Heal.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TakaakiIchijo/TypicalSoundManagerForUnity/c770ee37b4285844cad3945116121fec1238471d/Assets/TSM/Samples/SoundTestSample/AudioClips/GameSe/Heal.wav
--------------------------------------------------------------------------------
/Assets/TSM/Samples/SoundTestSample/AudioClips/GameSe/Heal.wav.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f8dd2fd40b6556e448b4738aa1067eb0
3 | timeCreated: 1515297252
4 | licenseType: Pro
5 | AudioImporter:
6 | serializedVersion: 6
7 | defaultSettings:
8 | loadType: 1
9 | sampleRateSetting: 0
10 | sampleRateOverride: 44100
11 | compressionFormat: 1
12 | quality: 0.2
13 | conversionMode: 0
14 | platformSettingOverrides:
15 | 1:
16 | loadType: 1
17 | sampleRateSetting: 0
18 | sampleRateOverride: 44100
19 | compressionFormat: 1
20 | quality: 0.8
21 | conversionMode: 0
22 | 7:
23 | loadType: 0
24 | sampleRateSetting: 0
25 | sampleRateOverride: 44100
26 | compressionFormat: 1
27 | quality: 0.19
28 | conversionMode: 0
29 | forceToMono: 1
30 | normalize: 1
31 | preloadAudioData: 1
32 | loadInBackground: 0
33 | ambisonic: 0
34 | 3D: 1
35 | userData:
36 | assetBundleName:
37 | assetBundleVariant:
38 |
--------------------------------------------------------------------------------
/Assets/TSM/Samples/SoundTestSample/AudioClips/Jingle.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 298b1c780e36750469d6214ee90c7ebe
3 | folderAsset: yes
4 | timeCreated: 1515307650
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/TSM/Samples/SoundTestSample/AudioClips/Jingle/Notice.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TakaakiIchijo/TypicalSoundManagerForUnity/c770ee37b4285844cad3945116121fec1238471d/Assets/TSM/Samples/SoundTestSample/AudioClips/Jingle/Notice.wav
--------------------------------------------------------------------------------
/Assets/TSM/Samples/SoundTestSample/AudioClips/Jingle/Notice.wav.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3fde096b6a5e1c94491b188ca77ab794
3 | timeCreated: 1515307651
4 | licenseType: Pro
5 | AudioImporter:
6 | serializedVersion: 6
7 | defaultSettings:
8 | loadType: 1
9 | sampleRateSetting: 0
10 | sampleRateOverride: 44100
11 | compressionFormat: 1
12 | quality: 0.2
13 | conversionMode: 0
14 | platformSettingOverrides:
15 | 1:
16 | loadType: 1
17 | sampleRateSetting: 0
18 | sampleRateOverride: 44100
19 | compressionFormat: 1
20 | quality: 0.8
21 | conversionMode: 0
22 | 7:
23 | loadType: 0
24 | sampleRateSetting: 0
25 | sampleRateOverride: 44100
26 | compressionFormat: 1
27 | quality: 1
28 | conversionMode: 0
29 | forceToMono: 0
30 | normalize: 1
31 | preloadAudioData: 1
32 | loadInBackground: 0
33 | ambisonic: 0
34 | 3D: 1
35 | userData:
36 | assetBundleName:
37 | assetBundleVariant:
38 |
--------------------------------------------------------------------------------
/Assets/TSM/Samples/SoundTestSample/AudioClips/MenuSe.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fe0ab05ff156f3e4f84a4c6b92ace292
3 | folderAsset: yes
4 | timeCreated: 1520922497
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/TSM/Samples/SoundTestSample/AudioClips/MenuSe/Dead.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TakaakiIchijo/TypicalSoundManagerForUnity/c770ee37b4285844cad3945116121fec1238471d/Assets/TSM/Samples/SoundTestSample/AudioClips/MenuSe/Dead.wav
--------------------------------------------------------------------------------
/Assets/TSM/Samples/SoundTestSample/AudioClips/MenuSe/Dead.wav.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1c61f1d9c56054348bd1026c7868bdce
3 | timeCreated: 1515297251
4 | licenseType: Pro
5 | AudioImporter:
6 | serializedVersion: 6
7 | defaultSettings:
8 | loadType: 1
9 | sampleRateSetting: 0
10 | sampleRateOverride: 44100
11 | compressionFormat: 1
12 | quality: 0.2
13 | conversionMode: 0
14 | platformSettingOverrides:
15 | 1:
16 | loadType: 1
17 | sampleRateSetting: 1
18 | sampleRateOverride: 44100
19 | compressionFormat: 1
20 | quality: 0.8
21 | conversionMode: 0
22 | 7:
23 | loadType: 0
24 | sampleRateSetting: 0
25 | sampleRateOverride: 44100
26 | compressionFormat: 1
27 | quality: 0.19
28 | conversionMode: 0
29 | forceToMono: 1
30 | normalize: 1
31 | preloadAudioData: 1
32 | loadInBackground: 0
33 | ambisonic: 0
34 | 3D: 1
35 | userData:
36 | assetBundleName:
37 | assetBundleVariant:
38 |
--------------------------------------------------------------------------------
/Assets/TSM/Samples/SoundTestSample/AudioClips/MenuSe/Laser.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TakaakiIchijo/TypicalSoundManagerForUnity/c770ee37b4285844cad3945116121fec1238471d/Assets/TSM/Samples/SoundTestSample/AudioClips/MenuSe/Laser.wav
--------------------------------------------------------------------------------
/Assets/TSM/Samples/SoundTestSample/AudioClips/MenuSe/Laser.wav.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 257b50d6f60e31244932f562cd8fd213
3 | timeCreated: 1523071033
4 | licenseType: Pro
5 | AudioImporter:
6 | serializedVersion: 6
7 | defaultSettings:
8 | loadType: 1
9 | sampleRateSetting: 0
10 | sampleRateOverride: 44100
11 | compressionFormat: 1
12 | quality: 0.2
13 | conversionMode: 0
14 | platformSettingOverrides:
15 | 1:
16 | loadType: 1
17 | sampleRateSetting: 0
18 | sampleRateOverride: 44100
19 | compressionFormat: 1
20 | quality: 0.8
21 | conversionMode: 0
22 | 7:
23 | loadType: 0
24 | sampleRateSetting: 0
25 | sampleRateOverride: 44100
26 | compressionFormat: 1
27 | quality: 1
28 | conversionMode: 0
29 | forceToMono: 1
30 | normalize: 1
31 | preloadAudioData: 1
32 | loadInBackground: 0
33 | ambisonic: 0
34 | 3D: 1
35 | userData:
36 | assetBundleName:
37 | assetBundleVariant:
38 |
--------------------------------------------------------------------------------
/Assets/TSM/Samples/SoundTestSample/Scripts.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5e9b6ca38ddddfe4d84533a2761ff700
3 | folderAsset: yes
4 | timeCreated: 1515297393
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/TSM/Samples/SoundTestSample/Scripts/SoundTestMain.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using TSM;
3 | using System.Collections.Generic;
4 |
5 | namespace TSMSample
6 | {
7 | public class SoundTestMain : MonoBehaviour
8 | {
9 | [SerializeField]
10 | public Transform mainCameraTransform;
11 |
12 | [SerializeField]
13 | private SoundTestUI mainUI;
14 |
15 | [SerializeField]
16 | private VolumeConfigUI volumeConfigUI;
17 |
18 | private AudioMixerManager audoMixerManager;
19 |
20 | [SerializeField]
21 | private Rotater cubeRotater;
22 |
23 | [SerializeField]
24 | private SwitchFuncButton pauseButton;
25 |
26 | private void Start()
27 | {
28 | SoundManager.Instance.SetAudioListener(mainCameraTransform);
29 |
30 | audoMixerManager = SoundManager.Instance.GetAudioMixerManager();
31 |
32 | volumeConfigUI.SetMasterSliderEvent(vol => audoMixerManager.MasterVolumeByLinear = vol);
33 | volumeConfigUI.SetBgmSliderEvent(vol => audoMixerManager.BgmVolumeByLinear = vol);
34 | volumeConfigUI.SetGameSeSliderEvent(vol => audoMixerManager.GameSeVolumeByLinear = vol);
35 |
36 | pauseButton.SetEvent("Pause", GamePause, "Resume", GameResume);
37 | }
38 |
39 | public void ShowVolumeConfigUI()
40 | {
41 | volumeConfigUI.Show(
42 | audoMixerManager.MasterVolumeByLinear,
43 | audoMixerManager.BgmVolumeByLinear,
44 | audoMixerManager.GameSeVolumeByLinear);
45 | }
46 |
47 | public void PlayMenuSe()
48 | {
49 | SoundManager.Instance.PlayMenuSe("Laser");
50 | }
51 |
52 | public void PlayJingle()
53 | {
54 | mainUI.SetJinglePlayStatusText("JinglePlaying");
55 | SoundManager.Instance.PlayJingle("Notice", () => mainUI.SetJinglePlayStatusText("JingleStop"));
56 | }
57 |
58 | public void GamePause()
59 | {
60 | cubeRotater.enabled = false;
61 | SoundManager.Instance.Pause();
62 | }
63 |
64 | public void GameResume()
65 | {
66 | cubeRotater.enabled = true;
67 | SoundManager.Instance.Resume();
68 | }
69 | }
70 | }
--------------------------------------------------------------------------------
/Assets/TSM/Samples/SoundTestSample/Scripts/SoundTestMain.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2b4e7c0ec75633e48b78ff850df4c8c8
3 | timeCreated: 1515747549
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/TSM/Samples/SoundTestSample/Scripts/SoundTestUI.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using UnityEngine;
4 | using UnityEngine.UI;
5 |
6 | namespace TSMSample
7 | {
8 | public class SoundTestUI : MonoBehaviour
9 | {
10 | [SerializeField]
11 | private Text jinglePlayStatusText;
12 |
13 | public void SetJinglePlayStatusText(string text)
14 | {
15 | jinglePlayStatusText.text = text;
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/Assets/TSM/Samples/SoundTestSample/Scripts/SoundTestUI.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a5086f049c0f0b0418a56d88de6a59bd
3 | timeCreated: 1519448547
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/TSM/Samples/SoundTestSample/SoundTestSample.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9a1e3101b93c45541901d14364873df6
3 | timeCreated: 1515295956
4 | licenseType: Pro
5 | DefaultImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/TSM/Scripts.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bb931cc3e7aab0a4aa444bdceb6195bb
3 | folderAsset: yes
4 | timeCreated: 1515295966
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/TSM/Scripts/AudioMiexerExtention.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using UnityEngine.Audio;
3 |
4 | namespace TSM
5 | {
6 | public static class AudioMixerGroupExtention
7 | {
8 | //パラメーター名は"Group名+Volume"の命名規則で設定する//
9 |
10 | public static float GetVolumeByLinear(this AudioMixerGroup audioMixerGroup)
11 | {
12 | float decibel;
13 |
14 | audioMixerGroup.audioMixer.GetFloat(audioMixerGroup.name + "Volume", out decibel);
15 |
16 | return Mathf.Pow(10f, decibel / 20f);
17 | }
18 |
19 | public static void SetVolumeByLinear(this AudioMixerGroup audioMixerGroup, float linearVolume)
20 | {
21 | float decibel = 20.0f * Mathf.Log10(linearVolume);
22 |
23 | if (float.IsNegativeInfinity(decibel))
24 | {
25 | decibel = -96f;
26 | }
27 |
28 | audioMixerGroup.audioMixer.SetFloat(audioMixerGroup.name + "Volume", decibel);
29 | }
30 | }
31 | }
--------------------------------------------------------------------------------
/Assets/TSM/Scripts/AudioMiexerExtention.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 18b4482845a72cc4eaa4e510abbfa385
3 | timeCreated: 1515742653
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/TSM/Scripts/AudioMixerManager.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using UnityEngine.Audio;
3 |
4 | namespace TSM
5 | {
6 | public class AudioMixerManager : MonoBehaviour
7 | {
8 | [SerializeField]
9 | private AudioMixer audioMixer;
10 |
11 | [SerializeField]
12 | private AudioMixerGroup master, bgm, environment, gameSe, menuSe, voice, jingle;
13 |
14 | public float MasterVolumeByLinear
15 | {
16 | get
17 | {
18 | return master.GetVolumeByLinear();
19 | }
20 |
21 | set
22 | {
23 | master.SetVolumeByLinear(value);
24 | }
25 | }
26 |
27 | public float BgmVolumeByLinear
28 | {
29 | get
30 | {
31 | return bgm.GetVolumeByLinear();
32 | }
33 |
34 | set
35 | {
36 | bgm.SetVolumeByLinear(value);
37 | }
38 | }
39 |
40 | public float GameSeVolumeByLinear
41 | {
42 | get
43 | {
44 | return gameSe.GetVolumeByLinear();
45 | }
46 |
47 | set
48 | {
49 | gameSe.SetVolumeByLinear(value);
50 | }
51 | }
52 |
53 | public AudioMixerGroup GetGameSeAudioMixerGroup()
54 | {
55 | return gameSe;
56 | }
57 | }
58 | }
--------------------------------------------------------------------------------
/Assets/TSM/Scripts/AudioMixerManager.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0ba8072590a582340a40013d247a5b4c
3 | timeCreated: 1515749976
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/TSM/Scripts/AudioSourceExtention.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 | using System.Collections.Generic;
4 | using UnityEngine;
5 | using UnityEngine.Events;
6 |
7 | namespace TSM
8 | {
9 | public static class AudioSourceExtention
10 | {
11 | //Play関数の拡張
12 | //1行でaudioClip, ボリューム、再生位置のランダマイズまで指定できるようにする//
13 | public static void Play(this AudioSource audioSource, AudioClip audioClip, float volume = 1f, bool isRandomStartTime = false)
14 | {
15 | if (audioClip == null) return;
16 |
17 | audioSource.clip = audioClip;
18 | audioSource.volume = volume;
19 |
20 | if (isRandomStartTime)
21 | {
22 | audioSource.time = UnityEngine.Random.Range(0f, audioClip.length - 0.01f);
23 | //結果がlengthと同値になるとシークエラーを起こすため -0.01秒する//
24 | }
25 |
26 | audioSource.Play();
27 | }
28 |
29 | public static IEnumerator PlayWithCompCallback(this AudioSource audioSource, AudioClip audioClip, float volume = 1f, UnityAction compCallback = null)
30 | {
31 | audioSource.Play(audioClip, volume);
32 |
33 | float timer = 0f;
34 |
35 | //WaitForSecondsを使うとCoroutineを一時停止・再開できなくなるのでwhileで対応//
36 | while (timer < audioClip.length)
37 | {
38 | timer += Time.deltaTime;
39 | yield return null;
40 | }
41 |
42 | //再生完了コールバックを実行//
43 | if (compCallback != null)
44 | {
45 | compCallback();
46 | }
47 | }
48 |
49 | ///
50 | /// /
51 | ///
52 | ///
53 | /// フェードしたときの最終到達ボリューム
54 | /// フェード時間
55 | /// 再生開始位置をランダマイズ
56 | ///
57 | public static IEnumerator PlayWithFadeIn(this AudioSource audioSource, AudioClip audioClip, float targetVolume = 1f, float fadeTime = 0.1f, bool isRandomStartTime = false)
58 | {
59 | //目標ボリュームが0以下の場合は再生キャンセル//
60 | if (targetVolume <= 0f) yield break;
61 |
62 | //再生開始//
63 | audioSource.Play(audioClip, 0f, isRandomStartTime);
64 |
65 | //フェードタイムが0かそれより小さればフェード処理をキャンセルして//
66 | if (fadeTime <= 0f)
67 | {
68 | audioSource.volume = targetVolume;
69 | yield break;
70 | }
71 |
72 | //目標ボリュームに到達するまで毎フレームボリュームを上げる//
73 | while (audioSource.volume < targetVolume)
74 | {
75 | float tempVolume = audioSource.volume + (Time.deltaTime / fadeTime * targetVolume);
76 |
77 | //目標ボリュームより計算結果が大きいか判定(急に大ボリュームにならないようにする)//
78 | audioSource.volume = tempVolume > targetVolume ? targetVolume : tempVolume;
79 |
80 | yield return null;
81 | }
82 | }
83 |
84 | public static IEnumerator StopWithFadeOut(this AudioSource audioSource, float fadeTime)
85 | {
86 | if (audioSource.isPlaying == false) yield break;
87 |
88 | //フェードタイムが0かそれより小さればフェード処理を行わない//
89 | if (fadeTime <= 0f)
90 | {
91 | audioSource.volume = 0f;
92 | audioSource.Stop();
93 | yield break;
94 | }
95 |
96 | while (audioSource.volume > 0f)
97 | {
98 | audioSource.volume -= Time.deltaTime / fadeTime;
99 | yield return null;
100 | }
101 |
102 | audioSource.Stop();
103 | }
104 |
105 | }
106 | }
--------------------------------------------------------------------------------
/Assets/TSM/Scripts/AudioSourceExtention.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7eb9d128fa7559e4d88e965b5d9b01ce
3 | timeCreated: 1515297110
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/TSM/Scripts/Interface.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 95d24a1fabe3a1042a0b6e134c0a9b2a
3 | folderAsset: yes
4 | timeCreated: 1519440156
5 | licenseType: Pro
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/TSM/Scripts/Interface/IAudioPausable.cs:
--------------------------------------------------------------------------------
1 | namespace TSM
2 | {
3 | public interface IAudioPausable
4 | {
5 | void Pause();
6 |
7 | void Resume();
8 |
9 | bool IsPaused { get; }
10 | }
11 | }
--------------------------------------------------------------------------------
/Assets/TSM/Scripts/Interface/IAudioPausable.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 906c32342bbfb3245a9817a48128e5c5
3 | timeCreated: 1519440156
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/TSM/Scripts/SoundManager.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using UnityEngine;
4 | using System.Linq;
5 | using UnityEngine.Events;
6 |
7 | namespace TSM
8 | {
9 | [RequireComponent(typeof(AudioMixerManager))]
10 | public class SoundManager : MonoBehaviour
11 | {
12 | [SerializeField]
13 | private AudioMixerManager audioMixermanager;
14 |
15 | [SerializeField]
16 | private Transform audioListenerTransform;
17 |
18 | [SerializeField]
19 | private AudioSource audioSourceMenuSe;
20 |
21 | [SerializeField]
22 | private AudioSource audioSourceJingle;
23 |
24 | [SerializeField]
25 | private List audioSourceBGMList = new List(2);
26 |
27 | [SerializeField]
28 | private List menuSeAudioClipList, bgmAudioClipList, jingleClipList;
29 |
30 | public static SoundManager Instance;
31 |
32 | private List fadeCoroutineList = new List();
33 | private IEnumerator jinglePlayCompCallbackCoroutine;
34 |
35 | public bool IsPaused { get; private set; }
36 |
37 | private List pausableList = new List();
38 |
39 | public void SetPausableList(IAudioPausable audioPausable)
40 | {
41 | pausableList.Add(audioPausable);
42 | }
43 |
44 | public void RemovePausableList(IAudioPausable audioPausable)
45 | {
46 | pausableList.Remove(audioPausable);
47 | }
48 |
49 | private void Awake()
50 | {
51 | if (Instance != null)
52 | {
53 | Destroy(this.gameObject);
54 | }
55 | else
56 | {
57 | Instance = this;
58 | DontDestroyOnLoad(this.gameObject);
59 | }
60 |
61 | audioSourceBGMList.ForEach(asb => asb.loop = true);
62 | }
63 |
64 | public AudioMixerManager GetAudioMixerManager()
65 | {
66 | return audioMixermanager;
67 | }
68 |
69 | public void PlayJingle(string clipName, UnityAction compCallback = null)
70 | {
71 | if (IsPaused) return;
72 |
73 | compCallback += () => { jinglePlayCompCallbackCoroutine = null; };
74 |
75 | AudioClip audioClip = jingleClipList.FirstOrDefault(clip => clip.name == clipName);
76 |
77 | //clipがなかったら処理を中止//
78 | if (audioClip == null)
79 | {
80 | Debug.Log("Can't find audioClip " + clipName);
81 | return;
82 | }
83 |
84 | jinglePlayCompCallbackCoroutine = audioSourceJingle.PlayWithCompCallback(audioClip: audioClip, compCallback: compCallback);
85 |
86 | StartCoroutine(jinglePlayCompCallbackCoroutine);
87 | }
88 |
89 | public void PlayMenuSe(string clipName)
90 | {
91 | if (IsPaused) return;
92 |
93 | AudioClip audioClip = menuSeAudioClipList.FirstOrDefault(clip => clip.name == clipName);
94 |
95 | if (audioClip == null)
96 | {
97 | Debug.Log("Can't find audioClip " + clipName);
98 | return;
99 | }
100 |
101 | audioSourceMenuSe.Play(audioClip);
102 | }
103 |
104 | public void PlayBGM(string clipName)
105 | {
106 | PlayBGMWithFade(clipName, 0.1f);
107 | }
108 |
109 | //uGUIから呼ぶ用//
110 | public void PlayBGMWithFade(string clipName)
111 | {
112 | PlayBGMWithFade(clipName, 2f);
113 | }
114 |
115 | public void PlayBGMWithFade(string clipName, float fadeTime)
116 | {
117 | if (IsPaused) return;
118 |
119 | //リストからAudioClipを取得//
120 | AudioClip audioClip = bgmAudioClipList.FirstOrDefault(clip => clip.name == clipName);
121 |
122 | //clipがなかったら処理を中止//
123 | if (audioClip == null)
124 | {
125 | Debug.Log("Can't find audioClip " + clipName);
126 | return;
127 | }
128 |
129 | AudioSource audioSourceEmpty = audioSourceBGMList.FirstOrDefault(asb => asb.isPlaying == false);
130 |
131 | if (audioSourceEmpty == null)
132 | {
133 | Debug.LogWarning("フェード処理中は新たなBGMを再生開始できません");
134 | return;
135 | }
136 | else
137 | {
138 | StopFadeCoroutine();
139 |
140 | //どちらか片方が再生中ならフェードアウト処理//
141 | AudioSource audioSourcePlaying = audioSourceBGMList.FirstOrDefault(asb => asb.isPlaying == true);
142 | if (audioSourcePlaying != null)
143 | {
144 | AddFadeCoroutineListAndStart(audioSourcePlaying.StopWithFadeOut(fadeTime));
145 | }
146 |
147 | AddFadeCoroutineListAndStart(audioSourceEmpty.PlayWithFadeIn(audioClip, fadeTime: fadeTime));
148 | }
149 | }
150 |
151 | public void StopBGM()
152 | {
153 | StopBGMWithFade(0.1f);
154 | }
155 |
156 | public void StopBGMWithFade(float fadeTime)
157 | {
158 | if (IsPaused) return;
159 |
160 | StopFadeCoroutine();
161 |
162 | //再生しているbgm audio sourceがあったら止める//
163 | foreach (AudioSource asb in audioSourceBGMList.Where(asb => asb.isPlaying == true))
164 | {
165 | AddFadeCoroutineListAndStart(asb.StopWithFadeOut(fadeTime));
166 | }
167 | }
168 |
169 | private void AddFadeCoroutineListAndStart(IEnumerator routine)
170 | {
171 | fadeCoroutineList.Add(routine);
172 | StartCoroutine(routine);
173 | }
174 |
175 | private void StopFadeCoroutine()
176 | {
177 | fadeCoroutineList.ForEach(routine => StopCoroutine(routine));
178 | fadeCoroutineList.Clear();
179 | }
180 |
181 | public void SetAudioListener(Transform followTransform)
182 | {
183 | audioListenerTransform.SetParent(followTransform);
184 | audioListenerTransform.SetPositionAndRotation(followTransform.position, followTransform.rotation);
185 | }
186 |
187 | public void ClearAudioListenerPos()
188 | {
189 | audioListenerTransform.SetParent(this.transform);
190 | audioListenerTransform.SetPositionAndRotation(Vector3.zero, Quaternion.identity);
191 | }
192 |
193 | public void Pause()
194 | {
195 | IsPaused = true;
196 |
197 | fadeCoroutineList.ForEach(routine => StopCoroutine(routine));
198 | audioSourceBGMList.ForEach(asb => asb.Pause());
199 |
200 | PauseExeptBGM();
201 | }
202 |
203 | public void PauseExeptBGM()
204 | {
205 | IsPaused = true;
206 |
207 | audioSourceMenuSe.Pause();
208 | audioSourceJingle.Pause();
209 |
210 | pausableList.ForEach(p => p.Pause());
211 |
212 | if (jinglePlayCompCallbackCoroutine != null)
213 | {
214 | StopCoroutine(jinglePlayCompCallbackCoroutine);
215 | }
216 | }
217 |
218 | public void Resume()
219 | {
220 | IsPaused = false;
221 |
222 | fadeCoroutineList.ForEach(routine => StartCoroutine(routine));
223 | audioSourceBGMList.ForEach(asb => asb.UnPause());
224 |
225 | ResumeExeptBGM();
226 | }
227 |
228 | public void ResumeExeptBGM()
229 | {
230 | IsPaused = false;
231 |
232 | audioSourceMenuSe.UnPause();
233 | audioSourceJingle.UnPause();
234 |
235 | pausableList.ForEach(p => p.Resume());
236 |
237 | if (jinglePlayCompCallbackCoroutine != null)
238 | {
239 | StartCoroutine(jinglePlayCompCallbackCoroutine);
240 | }
241 | }
242 | }
243 | }
--------------------------------------------------------------------------------
/Assets/TSM/Scripts/SoundManager.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 951cc85264557224699905e30d1a2043
3 | timeCreated: 1515295973
4 | licenseType: Pro
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2016 Takaaki Ichijo
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/ProjectSettings/AudioManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!11 &1
4 | AudioManager:
5 | m_ObjectHideFlags: 0
6 | m_Volume: 1
7 | Rolloff Scale: 1
8 | Doppler Factor: 1
9 | Default Speaker Mode: 2
10 | m_SampleRate: 0
11 | m_DSPBufferSize: 0
12 | m_VirtualVoiceCount: 512
13 | m_RealVoiceCount: 32
14 | m_SpatializerPlugin:
15 | m_AmbisonicDecoderPlugin:
16 | m_DisableAudio: 0
17 | m_VirtualizeEffects: 1
18 |
--------------------------------------------------------------------------------
/ProjectSettings/ClusterInputManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!236 &1
4 | ClusterInputManager:
5 | m_ObjectHideFlags: 0
6 | m_Inputs: []
7 |
--------------------------------------------------------------------------------
/ProjectSettings/DynamicsManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!55 &1
4 | PhysicsManager:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 3
7 | m_Gravity: {x: 0, y: -9.81, z: 0}
8 | m_DefaultMaterial: {fileID: 0}
9 | m_BounceThreshold: 2
10 | m_SleepThreshold: 0.005
11 | m_DefaultContactOffset: 0.01
12 | m_DefaultSolverIterations: 6
13 | m_DefaultSolverVelocityIterations: 1
14 | m_QueriesHitBackfaces: 0
15 | m_QueriesHitTriggers: 1
16 | m_EnableAdaptiveForce: 0
17 | m_EnablePCM: 1
18 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
19 | m_AutoSimulation: 1
20 |
--------------------------------------------------------------------------------
/ProjectSettings/EditorSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!159 &1
4 | EditorSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 4
7 | m_ExternalVersionControlSupport: Visible Meta Files
8 | m_SerializationMode: 2
9 | m_DefaultBehaviorMode: 0
10 | m_SpritePackerMode: 0
11 | m_SpritePackerPaddingPower: 1
12 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd
13 | m_ProjectGenerationRootNamespace:
14 | m_UserGeneratedProjectSuffix:
15 | m_CollabEditorSettings:
16 | inProgressEnabled: 1
17 |
--------------------------------------------------------------------------------
/ProjectSettings/InputManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!13 &1
4 | InputManager:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_Axes:
8 | - serializedVersion: 3
9 | m_Name: Horizontal
10 | descriptiveName:
11 | descriptiveNegativeName:
12 | negativeButton: left
13 | positiveButton: right
14 | altNegativeButton: a
15 | altPositiveButton: d
16 | gravity: 3
17 | dead: 0.001
18 | sensitivity: 3
19 | snap: 1
20 | invert: 0
21 | type: 0
22 | axis: 0
23 | joyNum: 0
24 | - serializedVersion: 3
25 | m_Name: Vertical
26 | descriptiveName:
27 | descriptiveNegativeName:
28 | negativeButton: down
29 | positiveButton: up
30 | altNegativeButton: s
31 | altPositiveButton: w
32 | gravity: 3
33 | dead: 0.001
34 | sensitivity: 3
35 | snap: 1
36 | invert: 0
37 | type: 0
38 | axis: 0
39 | joyNum: 0
40 | - serializedVersion: 3
41 | m_Name: Fire1
42 | descriptiveName:
43 | descriptiveNegativeName:
44 | negativeButton:
45 | positiveButton: left ctrl
46 | altNegativeButton:
47 | altPositiveButton: mouse 0
48 | gravity: 1000
49 | dead: 0.001
50 | sensitivity: 1000
51 | snap: 0
52 | invert: 0
53 | type: 0
54 | axis: 0
55 | joyNum: 0
56 | - serializedVersion: 3
57 | m_Name: Fire2
58 | descriptiveName:
59 | descriptiveNegativeName:
60 | negativeButton:
61 | positiveButton: left alt
62 | altNegativeButton:
63 | altPositiveButton: mouse 1
64 | gravity: 1000
65 | dead: 0.001
66 | sensitivity: 1000
67 | snap: 0
68 | invert: 0
69 | type: 0
70 | axis: 0
71 | joyNum: 0
72 | - serializedVersion: 3
73 | m_Name: Fire3
74 | descriptiveName:
75 | descriptiveNegativeName:
76 | negativeButton:
77 | positiveButton: left shift
78 | altNegativeButton:
79 | altPositiveButton: mouse 2
80 | gravity: 1000
81 | dead: 0.001
82 | sensitivity: 1000
83 | snap: 0
84 | invert: 0
85 | type: 0
86 | axis: 0
87 | joyNum: 0
88 | - serializedVersion: 3
89 | m_Name: Jump
90 | descriptiveName:
91 | descriptiveNegativeName:
92 | negativeButton:
93 | positiveButton: space
94 | altNegativeButton:
95 | altPositiveButton:
96 | gravity: 1000
97 | dead: 0.001
98 | sensitivity: 1000
99 | snap: 0
100 | invert: 0
101 | type: 0
102 | axis: 0
103 | joyNum: 0
104 | - serializedVersion: 3
105 | m_Name: Mouse X
106 | descriptiveName:
107 | descriptiveNegativeName:
108 | negativeButton:
109 | positiveButton:
110 | altNegativeButton:
111 | altPositiveButton:
112 | gravity: 0
113 | dead: 0
114 | sensitivity: 0.1
115 | snap: 0
116 | invert: 0
117 | type: 1
118 | axis: 0
119 | joyNum: 0
120 | - serializedVersion: 3
121 | m_Name: Mouse Y
122 | descriptiveName:
123 | descriptiveNegativeName:
124 | negativeButton:
125 | positiveButton:
126 | altNegativeButton:
127 | altPositiveButton:
128 | gravity: 0
129 | dead: 0
130 | sensitivity: 0.1
131 | snap: 0
132 | invert: 0
133 | type: 1
134 | axis: 1
135 | joyNum: 0
136 | - serializedVersion: 3
137 | m_Name: Mouse ScrollWheel
138 | descriptiveName:
139 | descriptiveNegativeName:
140 | negativeButton:
141 | positiveButton:
142 | altNegativeButton:
143 | altPositiveButton:
144 | gravity: 0
145 | dead: 0
146 | sensitivity: 0.1
147 | snap: 0
148 | invert: 0
149 | type: 1
150 | axis: 2
151 | joyNum: 0
152 | - serializedVersion: 3
153 | m_Name: Horizontal
154 | descriptiveName:
155 | descriptiveNegativeName:
156 | negativeButton:
157 | positiveButton:
158 | altNegativeButton:
159 | altPositiveButton:
160 | gravity: 0
161 | dead: 0.19
162 | sensitivity: 1
163 | snap: 0
164 | invert: 0
165 | type: 2
166 | axis: 0
167 | joyNum: 0
168 | - serializedVersion: 3
169 | m_Name: Vertical
170 | descriptiveName:
171 | descriptiveNegativeName:
172 | negativeButton:
173 | positiveButton:
174 | altNegativeButton:
175 | altPositiveButton:
176 | gravity: 0
177 | dead: 0.19
178 | sensitivity: 1
179 | snap: 0
180 | invert: 1
181 | type: 2
182 | axis: 1
183 | joyNum: 0
184 | - serializedVersion: 3
185 | m_Name: Fire1
186 | descriptiveName:
187 | descriptiveNegativeName:
188 | negativeButton:
189 | positiveButton: joystick button 0
190 | altNegativeButton:
191 | altPositiveButton:
192 | gravity: 1000
193 | dead: 0.001
194 | sensitivity: 1000
195 | snap: 0
196 | invert: 0
197 | type: 0
198 | axis: 0
199 | joyNum: 0
200 | - serializedVersion: 3
201 | m_Name: Fire2
202 | descriptiveName:
203 | descriptiveNegativeName:
204 | negativeButton:
205 | positiveButton: joystick button 1
206 | altNegativeButton:
207 | altPositiveButton:
208 | gravity: 1000
209 | dead: 0.001
210 | sensitivity: 1000
211 | snap: 0
212 | invert: 0
213 | type: 0
214 | axis: 0
215 | joyNum: 0
216 | - serializedVersion: 3
217 | m_Name: Fire3
218 | descriptiveName:
219 | descriptiveNegativeName:
220 | negativeButton:
221 | positiveButton: joystick button 2
222 | altNegativeButton:
223 | altPositiveButton:
224 | gravity: 1000
225 | dead: 0.001
226 | sensitivity: 1000
227 | snap: 0
228 | invert: 0
229 | type: 0
230 | axis: 0
231 | joyNum: 0
232 | - serializedVersion: 3
233 | m_Name: Jump
234 | descriptiveName:
235 | descriptiveNegativeName:
236 | negativeButton:
237 | positiveButton: joystick button 3
238 | altNegativeButton:
239 | altPositiveButton:
240 | gravity: 1000
241 | dead: 0.001
242 | sensitivity: 1000
243 | snap: 0
244 | invert: 0
245 | type: 0
246 | axis: 0
247 | joyNum: 0
248 | - serializedVersion: 3
249 | m_Name: Submit
250 | descriptiveName:
251 | descriptiveNegativeName:
252 | negativeButton:
253 | positiveButton: return
254 | altNegativeButton:
255 | altPositiveButton: joystick button 0
256 | gravity: 1000
257 | dead: 0.001
258 | sensitivity: 1000
259 | snap: 0
260 | invert: 0
261 | type: 0
262 | axis: 0
263 | joyNum: 0
264 | - serializedVersion: 3
265 | m_Name: Submit
266 | descriptiveName:
267 | descriptiveNegativeName:
268 | negativeButton:
269 | positiveButton: enter
270 | altNegativeButton:
271 | altPositiveButton: space
272 | gravity: 1000
273 | dead: 0.001
274 | sensitivity: 1000
275 | snap: 0
276 | invert: 0
277 | type: 0
278 | axis: 0
279 | joyNum: 0
280 | - serializedVersion: 3
281 | m_Name: Cancel
282 | descriptiveName:
283 | descriptiveNegativeName:
284 | negativeButton:
285 | positiveButton: escape
286 | altNegativeButton:
287 | altPositiveButton: joystick button 1
288 | gravity: 1000
289 | dead: 0.001
290 | sensitivity: 1000
291 | snap: 0
292 | invert: 0
293 | type: 0
294 | axis: 0
295 | joyNum: 0
296 |
--------------------------------------------------------------------------------
/ProjectSettings/NavMeshAreas.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!126 &1
4 | NavMeshProjectSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | areas:
8 | - name: Walkable
9 | cost: 1
10 | - name: Not Walkable
11 | cost: 1
12 | - name: Jump
13 | cost: 2
14 | - name:
15 | cost: 1
16 | - name:
17 | cost: 1
18 | - name:
19 | cost: 1
20 | - name:
21 | cost: 1
22 | - name:
23 | cost: 1
24 | - name:
25 | cost: 1
26 | - name:
27 | cost: 1
28 | - name:
29 | cost: 1
30 | - name:
31 | cost: 1
32 | - name:
33 | cost: 1
34 | - name:
35 | cost: 1
36 | - name:
37 | cost: 1
38 | - name:
39 | cost: 1
40 | - name:
41 | cost: 1
42 | - name:
43 | cost: 1
44 | - name:
45 | cost: 1
46 | - name:
47 | cost: 1
48 | - name:
49 | cost: 1
50 | - name:
51 | cost: 1
52 | - name:
53 | cost: 1
54 | - name:
55 | cost: 1
56 | - name:
57 | cost: 1
58 | - name:
59 | cost: 1
60 | - name:
61 | cost: 1
62 | - name:
63 | cost: 1
64 | - name:
65 | cost: 1
66 | - name:
67 | cost: 1
68 | - name:
69 | cost: 1
70 | - name:
71 | cost: 1
72 | m_LastAgentTypeID: -887442657
73 | m_Settings:
74 | - serializedVersion: 2
75 | agentTypeID: 0
76 | agentRadius: 0.5
77 | agentHeight: 2
78 | agentSlope: 45
79 | agentClimb: 0.75
80 | ledgeDropHeight: 0
81 | maxJumpAcrossDistance: 0
82 | minRegionArea: 2
83 | manualCellSize: 0
84 | cellSize: 0.16666667
85 | manualTileSize: 0
86 | tileSize: 256
87 | accuratePlacement: 0
88 | m_SettingNames:
89 | - Humanoid
90 |
--------------------------------------------------------------------------------
/ProjectSettings/NetworkManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!149 &1
4 | NetworkManager:
5 | m_ObjectHideFlags: 0
6 | m_DebugLevel: 0
7 | m_Sendrate: 15
8 | m_AssetToPrefab: {}
9 |
--------------------------------------------------------------------------------
/ProjectSettings/Physics2DSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!19 &1
4 | Physics2DSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 3
7 | m_Gravity: {x: 0, y: -9.81}
8 | m_DefaultMaterial: {fileID: 0}
9 | m_VelocityIterations: 8
10 | m_PositionIterations: 3
11 | m_VelocityThreshold: 1
12 | m_MaxLinearCorrection: 0.2
13 | m_MaxAngularCorrection: 8
14 | m_MaxTranslationSpeed: 100
15 | m_MaxRotationSpeed: 360
16 | m_BaumgarteScale: 0.2
17 | m_BaumgarteTimeOfImpactScale: 0.75
18 | m_TimeToSleep: 0.5
19 | m_LinearSleepTolerance: 0.01
20 | m_AngularSleepTolerance: 2
21 | m_DefaultContactOffset: 0.01
22 | m_AutoSimulation: 1
23 | m_QueriesHitTriggers: 1
24 | m_QueriesStartInColliders: 1
25 | m_ChangeStopsCallbacks: 0
26 | m_CallbacksOnDisable: 1
27 | m_AlwaysShowColliders: 0
28 | m_ShowColliderSleep: 1
29 | m_ShowColliderContacts: 0
30 | m_ShowColliderAABB: 0
31 | m_ContactArrowScale: 0.2
32 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412}
33 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432}
34 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745}
35 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804}
36 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
37 |
--------------------------------------------------------------------------------
/ProjectSettings/ProjectVersion.txt:
--------------------------------------------------------------------------------
1 | m_EditorVersion: 2017.1.2f1
2 |
--------------------------------------------------------------------------------
/ProjectSettings/QualitySettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!47 &1
4 | QualitySettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 5
7 | m_CurrentQuality: 2
8 | m_QualitySettings:
9 | - serializedVersion: 2
10 | name: Very Low
11 | pixelLightCount: 0
12 | shadows: 0
13 | shadowResolution: 0
14 | shadowProjection: 1
15 | shadowCascades: 1
16 | shadowDistance: 15
17 | shadowNearPlaneOffset: 3
18 | shadowCascade2Split: 0.33333334
19 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
20 | shadowmaskMode: 0
21 | blendWeights: 1
22 | textureQuality: 1
23 | anisotropicTextures: 0
24 | antiAliasing: 0
25 | softParticles: 0
26 | softVegetation: 0
27 | realtimeReflectionProbes: 0
28 | billboardsFaceCameraPosition: 0
29 | vSyncCount: 0
30 | lodBias: 0.3
31 | maximumLODLevel: 0
32 | particleRaycastBudget: 4
33 | asyncUploadTimeSlice: 2
34 | asyncUploadBufferSize: 4
35 | resolutionScalingFixedDPIFactor: 1
36 | excludedTargetPlatforms: []
37 | - serializedVersion: 2
38 | name: Low
39 | pixelLightCount: 0
40 | shadows: 0
41 | shadowResolution: 0
42 | shadowProjection: 1
43 | shadowCascades: 1
44 | shadowDistance: 20
45 | shadowNearPlaneOffset: 3
46 | shadowCascade2Split: 0.33333334
47 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
48 | shadowmaskMode: 0
49 | blendWeights: 2
50 | textureQuality: 0
51 | anisotropicTextures: 0
52 | antiAliasing: 0
53 | softParticles: 0
54 | softVegetation: 0
55 | realtimeReflectionProbes: 0
56 | billboardsFaceCameraPosition: 0
57 | vSyncCount: 0
58 | lodBias: 0.4
59 | maximumLODLevel: 0
60 | particleRaycastBudget: 16
61 | asyncUploadTimeSlice: 2
62 | asyncUploadBufferSize: 4
63 | resolutionScalingFixedDPIFactor: 1
64 | excludedTargetPlatforms: []
65 | - serializedVersion: 2
66 | name: Medium
67 | pixelLightCount: 1
68 | shadows: 2
69 | shadowResolution: 0
70 | shadowProjection: 1
71 | shadowCascades: 1
72 | shadowDistance: 20
73 | shadowNearPlaneOffset: 3
74 | shadowCascade2Split: 0.33333334
75 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
76 | shadowmaskMode: 0
77 | blendWeights: 2
78 | textureQuality: 0
79 | anisotropicTextures: 1
80 | antiAliasing: 2
81 | softParticles: 0
82 | softVegetation: 0
83 | realtimeReflectionProbes: 0
84 | billboardsFaceCameraPosition: 0
85 | vSyncCount: 1
86 | lodBias: 0.7
87 | maximumLODLevel: 0
88 | particleRaycastBudget: 64
89 | asyncUploadTimeSlice: 2
90 | asyncUploadBufferSize: 4
91 | resolutionScalingFixedDPIFactor: 1
92 | excludedTargetPlatforms: []
93 | - serializedVersion: 2
94 | name: High
95 | pixelLightCount: 2
96 | shadows: 2
97 | shadowResolution: 1
98 | shadowProjection: 1
99 | shadowCascades: 2
100 | shadowDistance: 40
101 | shadowNearPlaneOffset: 3
102 | shadowCascade2Split: 0.33333334
103 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
104 | shadowmaskMode: 1
105 | blendWeights: 2
106 | textureQuality: 0
107 | anisotropicTextures: 1
108 | antiAliasing: 0
109 | softParticles: 0
110 | softVegetation: 1
111 | realtimeReflectionProbes: 1
112 | billboardsFaceCameraPosition: 1
113 | vSyncCount: 1
114 | lodBias: 1
115 | maximumLODLevel: 0
116 | particleRaycastBudget: 256
117 | asyncUploadTimeSlice: 2
118 | asyncUploadBufferSize: 4
119 | resolutionScalingFixedDPIFactor: 1
120 | excludedTargetPlatforms: []
121 | - serializedVersion: 2
122 | name: Very High
123 | pixelLightCount: 3
124 | shadows: 2
125 | shadowResolution: 2
126 | shadowProjection: 1
127 | shadowCascades: 2
128 | shadowDistance: 70
129 | shadowNearPlaneOffset: 3
130 | shadowCascade2Split: 0.33333334
131 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
132 | shadowmaskMode: 1
133 | blendWeights: 4
134 | textureQuality: 0
135 | anisotropicTextures: 2
136 | antiAliasing: 2
137 | softParticles: 1
138 | softVegetation: 1
139 | realtimeReflectionProbes: 1
140 | billboardsFaceCameraPosition: 1
141 | vSyncCount: 1
142 | lodBias: 1.5
143 | maximumLODLevel: 0
144 | particleRaycastBudget: 1024
145 | asyncUploadTimeSlice: 2
146 | asyncUploadBufferSize: 4
147 | resolutionScalingFixedDPIFactor: 1
148 | excludedTargetPlatforms: []
149 | - serializedVersion: 2
150 | name: Ultra
151 | pixelLightCount: 4
152 | shadows: 2
153 | shadowResolution: 2
154 | shadowProjection: 1
155 | shadowCascades: 4
156 | shadowDistance: 150
157 | shadowNearPlaneOffset: 3
158 | shadowCascade2Split: 0.33333334
159 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
160 | shadowmaskMode: 1
161 | blendWeights: 4
162 | textureQuality: 0
163 | anisotropicTextures: 2
164 | antiAliasing: 2
165 | softParticles: 1
166 | softVegetation: 1
167 | realtimeReflectionProbes: 1
168 | billboardsFaceCameraPosition: 1
169 | vSyncCount: 1
170 | lodBias: 2
171 | maximumLODLevel: 0
172 | particleRaycastBudget: 4096
173 | asyncUploadTimeSlice: 2
174 | asyncUploadBufferSize: 4
175 | resolutionScalingFixedDPIFactor: 1
176 | excludedTargetPlatforms: []
177 | m_PerPlatformDefaultQuality:
178 | Android: 2
179 | Nintendo 3DS: 5
180 | Nintendo Switch: 5
181 | PS4: 5
182 | PSM: 5
183 | PSP2: 2
184 | Samsung TV: 2
185 | Standalone: 2
186 | Tizen: 2
187 | Web: 5
188 | WebGL: 2
189 | WiiU: 5
190 | Windows Store Apps: 5
191 | XboxOne: 5
192 | iPhone: 2
193 | tvOS: 2
194 |
--------------------------------------------------------------------------------
/ProjectSettings/TimeManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!5 &1
4 | TimeManager:
5 | m_ObjectHideFlags: 0
6 | Fixed Timestep: 0.02
7 | Maximum Allowed Timestep: 0.33333334
8 | m_TimeScale: 1
9 | Maximum Particle Timestep: 0.03
10 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Typical Sound Manager for Unity 2.0
2 | A typical sound manager system for Unity engine.
3 | Focused to 2D sound control.
4 |
5 | 
6 |
--------------------------------------------------------------------------------
/img/TSMDemoScreenshot1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TakaakiIchijo/TypicalSoundManagerForUnity/c770ee37b4285844cad3945116121fec1238471d/img/TSMDemoScreenshot1.png
--------------------------------------------------------------------------------
/img/TSMDemoScreenshot2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/TakaakiIchijo/TypicalSoundManagerForUnity/c770ee37b4285844cad3945116121fec1238471d/img/TSMDemoScreenshot2.png
--------------------------------------------------------------------------------