commit c5778c498bcc3159229d043d4474cef4b59ec6d5 Author: Oliver Wong Date: Fri Mar 20 17:55:53 2026 +0800 first commit diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..d899f65 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +*.wav filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..736036e --- /dev/null +++ b/.gitignore @@ -0,0 +1,61 @@ +# This .gitignore file should be placed at the root of your Unity project directory +# Get latest from https://github.com/github/gitignore/blob/main/Unity.gitignore + +.DS_Store +/.idea/ +/Tools/ +/DataTables/ + +/[Ll]ibrary/ +/[Tt]emp/ +/[Oo]bj/ +/[Bb]uild/ +/[Bb]uilds/ +/[Ll]ogs/ +/[Uu]ser[Ss]ettings/ +# MemoryCaptures can get excessive in size +# They also could contain extremely sensitive data +/[Mm]emoryCaptures/ +/[Rr]ecordings/ +# Uncomment this line if you wish to ignore the asset store tools plugin +#/Assets/AssetStoreTools* +# Autogenerated Jetbrains Rider plugin +/Assets/Plugins/Editor/JetBrains* +# Visual Studio cache directory +vs/ +/.gradle/ +/ExportedObj/ +/.consulo/ +/*.csproj +/*.unityproj +/*.sln +/*.suo +/*.tmp +/*.user +/*.userprefs +/*.pidb +/*.booproj +/*.svd +/*.pdb +/*.mdb +/*.opendb +/*.VC.db +# Unity3D generated meta files +/*.pidb.meta +/*.pdb.meta +/*.mdb.meta +/*.meta +# Unity3D generated file on crash reports +sysinfo.txt +# Builds +/*.apk +/*.aab +/*.unitypackage +/*.app +# Crashlytics generated file +crashlytics-build.properties +# Packed Addressables +/Assets/AddressableAssetsData/*/*.bin* +# Temporary auto-generated Android Assets +/Assets/StreamingAssets/aa.meta +/Assets/StreamingAssets/aa/* diff --git a/Assets/Editor.meta b/Assets/Editor.meta new file mode 100644 index 0000000..aa45113 --- /dev/null +++ b/Assets/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 93d9027f66ea24f26a778cb84fc1c930 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Editor/ExcelTool.cs b/Assets/Editor/ExcelTool.cs new file mode 100644 index 0000000..a4b2647 --- /dev/null +++ b/Assets/Editor/ExcelTool.cs @@ -0,0 +1,63 @@ +using System.Diagnostics; + +namespace Editor +{ + public static class ExcelTool + { + //[UnityEditor.MenuItem("Tool/ExcelTool/GenerateData")] + public static void GenerateData() + { + string projectRoot = System.IO.Path.GetFullPath(System.IO.Path.Combine(UnityEngine.Application.dataPath, "..")); + string toolDir = System.IO.Path.Combine(projectRoot, "Tool/ExcelTool"); + +#if UNITY_EDITOR_WIN + string scriptPath = System.IO.Path.Combine(toolDir, "buildata.bat"); + ProcessStartInfo psi = new() + { + FileName = "cmd.exe", + Arguments = $"/c \"{scriptPath}\"", + WorkingDirectory = toolDir, + UseShellExecute = false, + }; +#else + string scriptPath = System.IO.Path.Combine(toolDir, "buildata.sh"); + ProcessStartInfo psi = new() + { + FileName = "/bin/bash", + Arguments = scriptPath, + WorkingDirectory = toolDir, + UseShellExecute = false, + RedirectStandardOutput = true, + RedirectStandardError = true, + }; +#endif + + Process process = Process.Start(psi); + + string stdout = process.StandardOutput.ReadToEnd(); + string stderr = process.StandardError.ReadToEnd(); + + process.WaitForExit(); + + UnityEngine.Debug.Log(stdout); + + if (!string.IsNullOrEmpty(stderr)) + { + UnityEngine.Debug.LogError(stderr); + } + + if (process.ExitCode == 0) + { + UnityEngine.Debug.Log("ExcelTool: GenerateData completed successfully."); + } + else + { + UnityEditor.EditorUtility.DisplayDialog( + "GenerateData Failed", + $"ExcelTool script exited with code {process.ExitCode}.", + "OK" + ); + } + } + } +} diff --git a/Assets/Editor/ExcelTool.cs.meta b/Assets/Editor/ExcelTool.cs.meta new file mode 100644 index 0000000..12a554b --- /dev/null +++ b/Assets/Editor/ExcelTool.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: b88299bde86647b3accee47ca8ea102e +timeCreated: 1773214184 \ No newline at end of file diff --git a/Assets/Plugins.meta b/Assets/Plugins.meta new file mode 100644 index 0000000..37736d4 --- /dev/null +++ b/Assets/Plugins.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 567f43f414f9a45c280fec125325526a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources.meta b/Assets/Resources.meta new file mode 100644 index 0000000..0b209a6 --- /dev/null +++ b/Assets/Resources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 762c1403026b146f09f33b869918ecdb +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/AudioData.meta b/Assets/Resources/AudioData.meta new file mode 100644 index 0000000..7e5fb92 --- /dev/null +++ b/Assets/Resources/AudioData.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ad7387f41068f465fbabd034439fbd89 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/AudioData/AmbiencePath.bytes b/Assets/Resources/AudioData/AmbiencePath.bytes new file mode 100644 index 0000000..593f470 Binary files /dev/null and b/Assets/Resources/AudioData/AmbiencePath.bytes differ diff --git a/Assets/Resources/AudioData/AmbiencePath.bytes.meta b/Assets/Resources/AudioData/AmbiencePath.bytes.meta new file mode 100644 index 0000000..5de46d6 --- /dev/null +++ b/Assets/Resources/AudioData/AmbiencePath.bytes.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d3221307a0605427589eb68b33536aae +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/AudioData/AmbienceTransition.bytes b/Assets/Resources/AudioData/AmbienceTransition.bytes new file mode 100644 index 0000000..d5619d9 Binary files /dev/null and b/Assets/Resources/AudioData/AmbienceTransition.bytes differ diff --git a/Assets/Resources/AudioData/AmbienceTransition.bytes.meta b/Assets/Resources/AudioData/AmbienceTransition.bytes.meta new file mode 100644 index 0000000..668f7c1 --- /dev/null +++ b/Assets/Resources/AudioData/AmbienceTransition.bytes.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ee2bb308b32b940b8a66d0556cc83cd3 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/AudioData/AudioGroup.bytes b/Assets/Resources/AudioData/AudioGroup.bytes new file mode 100644 index 0000000..6d6c9e7 Binary files /dev/null and b/Assets/Resources/AudioData/AudioGroup.bytes differ diff --git a/Assets/Resources/AudioData/AudioGroup.bytes.meta b/Assets/Resources/AudioData/AudioGroup.bytes.meta new file mode 100644 index 0000000..a763c2c --- /dev/null +++ b/Assets/Resources/AudioData/AudioGroup.bytes.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: bad8d847ad5ee462381bab51732a50e1 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/AudioData/AudioObject.bytes b/Assets/Resources/AudioData/AudioObject.bytes new file mode 100644 index 0000000..10feee0 Binary files /dev/null and b/Assets/Resources/AudioData/AudioObject.bytes differ diff --git a/Assets/Resources/AudioData/AudioObject.bytes.meta b/Assets/Resources/AudioData/AudioObject.bytes.meta new file mode 100644 index 0000000..b5dc934 --- /dev/null +++ b/Assets/Resources/AudioData/AudioObject.bytes.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9a563bfe232114a3c83111d9ad72bf7f +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/AudioData/MusicContainer.bytes b/Assets/Resources/AudioData/MusicContainer.bytes new file mode 100644 index 0000000..7ce71c1 Binary files /dev/null and b/Assets/Resources/AudioData/MusicContainer.bytes differ diff --git a/Assets/Resources/AudioData/MusicContainer.bytes.meta b/Assets/Resources/AudioData/MusicContainer.bytes.meta new file mode 100644 index 0000000..7631c32 --- /dev/null +++ b/Assets/Resources/AudioData/MusicContainer.bytes.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d93ae21911dc843cebab2d6741820e80 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/AudioData/MusicPath.bytes b/Assets/Resources/AudioData/MusicPath.bytes new file mode 100644 index 0000000..e32b95b Binary files /dev/null and b/Assets/Resources/AudioData/MusicPath.bytes differ diff --git a/Assets/Resources/AudioData/MusicPath.bytes.meta b/Assets/Resources/AudioData/MusicPath.bytes.meta new file mode 100644 index 0000000..f0eaa73 --- /dev/null +++ b/Assets/Resources/AudioData/MusicPath.bytes.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7cd7a8ecc16c4468f9207d774f6e2dcf +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/AudioData/MusicSegment.bytes b/Assets/Resources/AudioData/MusicSegment.bytes new file mode 100644 index 0000000..e973365 Binary files /dev/null and b/Assets/Resources/AudioData/MusicSegment.bytes differ diff --git a/Assets/Resources/AudioData/MusicSegment.bytes.meta b/Assets/Resources/AudioData/MusicSegment.bytes.meta new file mode 100644 index 0000000..cbf1e8e --- /dev/null +++ b/Assets/Resources/AudioData/MusicSegment.bytes.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 32cbf31c55b3f480b81a96f809aaced6 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/AudioData/MusicTransition.bytes b/Assets/Resources/AudioData/MusicTransition.bytes new file mode 100644 index 0000000..7948618 Binary files /dev/null and b/Assets/Resources/AudioData/MusicTransition.bytes differ diff --git a/Assets/Resources/AudioData/MusicTransition.bytes.meta b/Assets/Resources/AudioData/MusicTransition.bytes.meta new file mode 100644 index 0000000..be3501a --- /dev/null +++ b/Assets/Resources/AudioData/MusicTransition.bytes.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 83aad1dfd0d4948e898ece7e40a62c06 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios.meta b/Assets/Resources/Audios.meta new file mode 100644 index 0000000..9afa52f --- /dev/null +++ b/Assets/Resources/Audios.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 07dda0761dca5405ebf092d473b8e0e3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/AnimCollision.wav b/Assets/Resources/Audios/AnimCollision.wav new file mode 100755 index 0000000..1d8af1e --- /dev/null +++ b/Assets/Resources/Audios/AnimCollision.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4a62f59108e870e3417238f6ca3728432d3a68057ccaab28e4f3c346c8a5dcd +size 43150 diff --git a/Assets/Resources/Audios/AnimCollision.wav.meta b/Assets/Resources/Audios/AnimCollision.wav.meta new file mode 100644 index 0000000..7d2597f --- /dev/null +++ b/Assets/Resources/Audios/AnimCollision.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: e2e7ba2e28be74974847cdb9a2aeca4d +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/AnimToWeapon.wav b/Assets/Resources/Audios/AnimToWeapon.wav new file mode 100755 index 0000000..a716d50 --- /dev/null +++ b/Assets/Resources/Audios/AnimToWeapon.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb6ee900a943ff659b2d0d8df4aae949504122ba721e102a1fd91b54dbe0fb28 +size 39366 diff --git a/Assets/Resources/Audios/AnimToWeapon.wav.meta b/Assets/Resources/Audios/AnimToWeapon.wav.meta new file mode 100644 index 0000000..2858868 --- /dev/null +++ b/Assets/Resources/Audios/AnimToWeapon.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 5223afa441070468fad819a79f973be3 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/ArrowFire.wav b/Assets/Resources/Audios/ArrowFire.wav new file mode 100755 index 0000000..1830f79 --- /dev/null +++ b/Assets/Resources/Audios/ArrowFire.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a2e8668f21f3ce518e135b2f177c454748a6ffb521ad48fe65c85e6703d1195e +size 27688 diff --git a/Assets/Resources/Audios/ArrowFire.wav.meta b/Assets/Resources/Audios/ArrowFire.wav.meta new file mode 100644 index 0000000..cdf5237 --- /dev/null +++ b/Assets/Resources/Audios/ArrowFire.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 2b1de8ed77c164df28420b33c8efa336 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/BoxBeSelected.wav b/Assets/Resources/Audios/BoxBeSelected.wav new file mode 100755 index 0000000..9d1bf43 --- /dev/null +++ b/Assets/Resources/Audios/BoxBeSelected.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11f1551133fa6e159e9a56708add5425717bae188f000081a763b4889845ff64 +size 25868 diff --git a/Assets/Resources/Audios/BoxBeSelected.wav.meta b/Assets/Resources/Audios/BoxBeSelected.wav.meta new file mode 100644 index 0000000..c03457e --- /dev/null +++ b/Assets/Resources/Audios/BoxBeSelected.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 440e4093f5464425b86e6b44abe8c002 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/BoxCollision.wav b/Assets/Resources/Audios/BoxCollision.wav new file mode 100755 index 0000000..d84ac5b --- /dev/null +++ b/Assets/Resources/Audios/BoxCollision.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d1916161a90580b3095ffd7fb3efa70733cb10cae79ed95d57fc9194db293a32 +size 39116 diff --git a/Assets/Resources/Audios/BoxCollision.wav.meta b/Assets/Resources/Audios/BoxCollision.wav.meta new file mode 100644 index 0000000..afae2ab --- /dev/null +++ b/Assets/Resources/Audios/BoxCollision.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 73ec4c358929b450d8e11662679df62a +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/BoxMove.wav b/Assets/Resources/Audios/BoxMove.wav new file mode 100755 index 0000000..90c9eb5 --- /dev/null +++ b/Assets/Resources/Audios/BoxMove.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca8c109257fe6907a08d4f4621e97db3c2ec6b0f652b4feb459f57673d11ff78 +size 87610 diff --git a/Assets/Resources/Audios/BoxMove.wav.meta b/Assets/Resources/Audios/BoxMove.wav.meta new file mode 100644 index 0000000..8e0702e --- /dev/null +++ b/Assets/Resources/Audios/BoxMove.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: e667404da74614648b746cb263b55e39 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/Chinese Number 01.wav b/Assets/Resources/Audios/Chinese Number 01.wav new file mode 100644 index 0000000..7c94cf0 --- /dev/null +++ b/Assets/Resources/Audios/Chinese Number 01.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ffbc90e065bdc3d0ec8d5c6d889208d3221ec1570cc01bfe465ceb965bba745c +size 47670 diff --git a/Assets/Resources/Audios/Chinese Number 01.wav.meta b/Assets/Resources/Audios/Chinese Number 01.wav.meta new file mode 100644 index 0000000..9e343e1 --- /dev/null +++ b/Assets/Resources/Audios/Chinese Number 01.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 840103f361b5d4466958f48204af2e47 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/Chinese Number 02.wav b/Assets/Resources/Audios/Chinese Number 02.wav new file mode 100644 index 0000000..6469f0b --- /dev/null +++ b/Assets/Resources/Audios/Chinese Number 02.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:22722e0b53c26ad6a8854a5d4a3083d3a5790ea563c3e20e521ce9dc1dd918c9 +size 58218 diff --git a/Assets/Resources/Audios/Chinese Number 02.wav.meta b/Assets/Resources/Audios/Chinese Number 02.wav.meta new file mode 100644 index 0000000..e73fc44 --- /dev/null +++ b/Assets/Resources/Audios/Chinese Number 02.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: a26ecd34f61b54d86bddee4a2f9f86a9 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/Chinese Number 03.wav b/Assets/Resources/Audios/Chinese Number 03.wav new file mode 100644 index 0000000..088f291 --- /dev/null +++ b/Assets/Resources/Audios/Chinese Number 03.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:60ad706324d245dc8e5d993d6335883437bb44c8a34ae9f84f6e671e0aff8cce +size 59444 diff --git a/Assets/Resources/Audios/Chinese Number 03.wav.meta b/Assets/Resources/Audios/Chinese Number 03.wav.meta new file mode 100644 index 0000000..3df7517 --- /dev/null +++ b/Assets/Resources/Audios/Chinese Number 03.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 8050a1cf5c63449afbe56b05a54372e9 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/Chinese Number 04.wav b/Assets/Resources/Audios/Chinese Number 04.wav new file mode 100644 index 0000000..f6b5e58 --- /dev/null +++ b/Assets/Resources/Audios/Chinese Number 04.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0318f8b088cc279f0ed60d951823864477a27c5df1774e8a3be26208822eea71 +size 62878 diff --git a/Assets/Resources/Audios/Chinese Number 04.wav.meta b/Assets/Resources/Audios/Chinese Number 04.wav.meta new file mode 100644 index 0000000..d848af9 --- /dev/null +++ b/Assets/Resources/Audios/Chinese Number 04.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: e221df03f85e04132ae1e8e8bb3f1e24 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/Chinese Number 05.wav b/Assets/Resources/Audios/Chinese Number 05.wav new file mode 100644 index 0000000..54f791e --- /dev/null +++ b/Assets/Resources/Audios/Chinese Number 05.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6d6bdc425ff01895aebdfc63eb77ecfce35070ca57a456cdb0b7fb3670e7e87 +size 63898 diff --git a/Assets/Resources/Audios/Chinese Number 05.wav.meta b/Assets/Resources/Audios/Chinese Number 05.wav.meta new file mode 100644 index 0000000..f74a935 --- /dev/null +++ b/Assets/Resources/Audios/Chinese Number 05.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 3864ffa5645fb41cb8d872d265cff7f1 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/Chinese Number 06.wav b/Assets/Resources/Audios/Chinese Number 06.wav new file mode 100644 index 0000000..a45c2c3 --- /dev/null +++ b/Assets/Resources/Audios/Chinese Number 06.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3319271e3dc258392e66f5c39c05a52156b449528becdaf57f363c5809f3e17c +size 63464 diff --git a/Assets/Resources/Audios/Chinese Number 06.wav.meta b/Assets/Resources/Audios/Chinese Number 06.wav.meta new file mode 100644 index 0000000..2db7eff --- /dev/null +++ b/Assets/Resources/Audios/Chinese Number 06.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 9e6d739d1d7634a01b3b4194ef5f0212 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/Chinese Number 07.wav b/Assets/Resources/Audios/Chinese Number 07.wav new file mode 100644 index 0000000..e233a22 --- /dev/null +++ b/Assets/Resources/Audios/Chinese Number 07.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c73b191801a79f5225bcbb132287411dd8b2daf4e43b9e8d6a1e6363fd10c9bc +size 61318 diff --git a/Assets/Resources/Audios/Chinese Number 07.wav.meta b/Assets/Resources/Audios/Chinese Number 07.wav.meta new file mode 100644 index 0000000..e9a09c5 --- /dev/null +++ b/Assets/Resources/Audios/Chinese Number 07.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 7ab8fada464724e7bb78474f5b8a50b0 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/Chinese Number 08.wav b/Assets/Resources/Audios/Chinese Number 08.wav new file mode 100644 index 0000000..fd083d9 --- /dev/null +++ b/Assets/Resources/Audios/Chinese Number 08.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ecfe2b9d49025043ec54fc6ef6f7250aa91b3692a43efd6773f2ef472fdd1bfd +size 54672 diff --git a/Assets/Resources/Audios/Chinese Number 08.wav.meta b/Assets/Resources/Audios/Chinese Number 08.wav.meta new file mode 100644 index 0000000..a0ffd9c --- /dev/null +++ b/Assets/Resources/Audios/Chinese Number 08.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 2a53ce4273d36440494927d60bc840b6 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/Chinese Number 09.wav b/Assets/Resources/Audios/Chinese Number 09.wav new file mode 100644 index 0000000..852622f --- /dev/null +++ b/Assets/Resources/Audios/Chinese Number 09.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0406cfa8da65899a8119c7efe5c92b981a043ff40ea814a138e30163645f1879 +size 69644 diff --git a/Assets/Resources/Audios/Chinese Number 09.wav.meta b/Assets/Resources/Audios/Chinese Number 09.wav.meta new file mode 100644 index 0000000..641b174 --- /dev/null +++ b/Assets/Resources/Audios/Chinese Number 09.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 723bf8f4079cc4c9b83680d70f45e946 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/Chinese Number 10.wav b/Assets/Resources/Audios/Chinese Number 10.wav new file mode 100644 index 0000000..a737149 --- /dev/null +++ b/Assets/Resources/Audios/Chinese Number 10.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aaebf0f828f4688dcc0dfeb5d53bb29bc7a263434d13c971754ff305554ac231 +size 62028 diff --git a/Assets/Resources/Audios/Chinese Number 10.wav.meta b/Assets/Resources/Audios/Chinese Number 10.wav.meta new file mode 100644 index 0000000..c0a7b7b --- /dev/null +++ b/Assets/Resources/Audios/Chinese Number 10.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 1b7af670368ce42a6bce9a1a62423d0c +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/CoinFly.wav b/Assets/Resources/Audios/CoinFly.wav new file mode 100755 index 0000000..9000ae2 --- /dev/null +++ b/Assets/Resources/Audios/CoinFly.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff8913874ced1ec933e0778fe9e2f5511fd8028a5ba0462193f1f524dd13f2e3 +size 218768 diff --git a/Assets/Resources/Audios/CoinFly.wav.meta b/Assets/Resources/Audios/CoinFly.wav.meta new file mode 100644 index 0000000..8257983 --- /dev/null +++ b/Assets/Resources/Audios/CoinFly.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 67d8e33e0ef56427faa286573e23760e +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/DamageByArrow.wav b/Assets/Resources/Audios/DamageByArrow.wav new file mode 100755 index 0000000..5709b54 --- /dev/null +++ b/Assets/Resources/Audios/DamageByArrow.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e32cc908325f073740ff4ff22006863531cab2d7a0fead13ffca35e72b08e0c9 +size 37726 diff --git a/Assets/Resources/Audios/DamageByArrow.wav.meta b/Assets/Resources/Audios/DamageByArrow.wav.meta new file mode 100644 index 0000000..daefd7a --- /dev/null +++ b/Assets/Resources/Audios/DamageByArrow.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 8d618f982a298405cbadc8df69fa5f1f +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/DamageByBullet.wav b/Assets/Resources/Audios/DamageByBullet.wav new file mode 100755 index 0000000..3c36a89 --- /dev/null +++ b/Assets/Resources/Audios/DamageByBullet.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87ef80047d344125b33fc7f9319703e4bf36116b5203090b7073255aa752d64d +size 38238 diff --git a/Assets/Resources/Audios/DamageByBullet.wav.meta b/Assets/Resources/Audios/DamageByBullet.wav.meta new file mode 100644 index 0000000..b39e166 --- /dev/null +++ b/Assets/Resources/Audios/DamageByBullet.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 165c374d457fb47d1a62c06e49213134 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/DamageByCannonBall.wav b/Assets/Resources/Audios/DamageByCannonBall.wav new file mode 100755 index 0000000..d3029f0 --- /dev/null +++ b/Assets/Resources/Audios/DamageByCannonBall.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb93411f3c4471e42233bf6ac196bc000f29f922e2dbd4e59e8a7bf4622ebca9 +size 40780 diff --git a/Assets/Resources/Audios/DamageByCannonBall.wav.meta b/Assets/Resources/Audios/DamageByCannonBall.wav.meta new file mode 100644 index 0000000..945cc09 --- /dev/null +++ b/Assets/Resources/Audios/DamageByCannonBall.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 356adbb1dbab14894b23b4b6e01ecd19 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/Defeat.wav b/Assets/Resources/Audios/Defeat.wav new file mode 100755 index 0000000..34a4eba --- /dev/null +++ b/Assets/Resources/Audios/Defeat.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88918bcbbef7c8de7d295b7dc2e1bc8363446685b3d45e0b033b2ae2385e117c +size 71396 diff --git a/Assets/Resources/Audios/Defeat.wav.meta b/Assets/Resources/Audios/Defeat.wav.meta new file mode 100644 index 0000000..8c90e45 --- /dev/null +++ b/Assets/Resources/Audios/Defeat.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 18b16b3a18e934447a743b05202ce2dc +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/DestroyBox.wav b/Assets/Resources/Audios/DestroyBox.wav new file mode 100755 index 0000000..edc3e48 --- /dev/null +++ b/Assets/Resources/Audios/DestroyBox.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ade5635357a0b31738fdd512ef43b9fba2a5585db7196b3e543be6ef20727af0 +size 215356 diff --git a/Assets/Resources/Audios/DestroyBox.wav.meta b/Assets/Resources/Audios/DestroyBox.wav.meta new file mode 100644 index 0000000..647087e --- /dev/null +++ b/Assets/Resources/Audios/DestroyBox.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 485c07399f70542db8740a51c065aad6 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/DevilAttackShield.wav b/Assets/Resources/Audios/DevilAttackShield.wav new file mode 100755 index 0000000..99bb17b --- /dev/null +++ b/Assets/Resources/Audios/DevilAttackShield.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52f552d839e8c73fd7210c101c049b3b91dca23e384f8dac3bd865526d374f84 +size 82044 diff --git a/Assets/Resources/Audios/DevilAttackShield.wav.meta b/Assets/Resources/Audios/DevilAttackShield.wav.meta new file mode 100644 index 0000000..4a4c23b --- /dev/null +++ b/Assets/Resources/Audios/DevilAttackShield.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 07a0f371f81974751a2bd0f812824248 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/DevilBeHit.wav b/Assets/Resources/Audios/DevilBeHit.wav new file mode 100755 index 0000000..e944561 --- /dev/null +++ b/Assets/Resources/Audios/DevilBeHit.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f4fdf7092eca1d12b8e2a50fc7de34ff0fd3231ea54c599141f2c5409cfbfb46 +size 150786 diff --git a/Assets/Resources/Audios/DevilBeHit.wav.meta b/Assets/Resources/Audios/DevilBeHit.wav.meta new file mode 100644 index 0000000..97bf898 --- /dev/null +++ b/Assets/Resources/Audios/DevilBeHit.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 03c994a07aa0241d3af73151715c959d +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/DevilBeHit_01.wav b/Assets/Resources/Audios/DevilBeHit_01.wav new file mode 100644 index 0000000..84557c6 --- /dev/null +++ b/Assets/Resources/Audios/DevilBeHit_01.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f77a941ab280b84673023d6cfc72b3011ed0a0baec17eca1c3d392f6ca441086 +size 156344 diff --git a/Assets/Resources/Audios/DevilBeHit_01.wav.meta b/Assets/Resources/Audios/DevilBeHit_01.wav.meta new file mode 100644 index 0000000..7f52dca --- /dev/null +++ b/Assets/Resources/Audios/DevilBeHit_01.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: fd55fffefe75b4ce6a034af7107add97 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/DevilBeHit_02.wav b/Assets/Resources/Audios/DevilBeHit_02.wav new file mode 100644 index 0000000..4a9956f --- /dev/null +++ b/Assets/Resources/Audios/DevilBeHit_02.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:62111f25c8cb778b687f0fab860d0e9e929a197667844a5f0fd0d8147f9d6572 +size 150182 diff --git a/Assets/Resources/Audios/DevilBeHit_02.wav.meta b/Assets/Resources/Audios/DevilBeHit_02.wav.meta new file mode 100644 index 0000000..6e5b479 --- /dev/null +++ b/Assets/Resources/Audios/DevilBeHit_02.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: e7987b46a85ba484e91a7953ff10691e +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/DevilBeHit_03.wav b/Assets/Resources/Audios/DevilBeHit_03.wav new file mode 100644 index 0000000..3e7302b --- /dev/null +++ b/Assets/Resources/Audios/DevilBeHit_03.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:33e51457bf52f47a392ab73f8a1226b032ea5896ca3ae081d6854d10dc04d232 +size 141360 diff --git a/Assets/Resources/Audios/DevilBeHit_03.wav.meta b/Assets/Resources/Audios/DevilBeHit_03.wav.meta new file mode 100644 index 0000000..f51f8ca --- /dev/null +++ b/Assets/Resources/Audios/DevilBeHit_03.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 9e5679bfaef714d6bada403ca7d2a27c +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/DevilDie.wav b/Assets/Resources/Audios/DevilDie.wav new file mode 100755 index 0000000..f9c33aa --- /dev/null +++ b/Assets/Resources/Audios/DevilDie.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:19c77b82e497881d01d9a1e41ef96600ad7cd050fbd2ceef64d6665322a2ce1c +size 173644 diff --git a/Assets/Resources/Audios/DevilDie.wav.meta b/Assets/Resources/Audios/DevilDie.wav.meta new file mode 100644 index 0000000..0218375 --- /dev/null +++ b/Assets/Resources/Audios/DevilDie.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: c9281bcd2aec64e97a0168b9a8e80c9c +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/DevilFire.wav b/Assets/Resources/Audios/DevilFire.wav new file mode 100755 index 0000000..2884d3e --- /dev/null +++ b/Assets/Resources/Audios/DevilFire.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e8103629872cb6dd5f84a28d66cb68651f10e8e79bccb7948a44e0825f83fff9 +size 163772 diff --git a/Assets/Resources/Audios/DevilFire.wav.meta b/Assets/Resources/Audios/DevilFire.wav.meta new file mode 100644 index 0000000..a7e1753 --- /dev/null +++ b/Assets/Resources/Audios/DevilFire.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: e5538c7e16a7a41ef9cf375285d0814a +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/DevilResurrection.wav b/Assets/Resources/Audios/DevilResurrection.wav new file mode 100755 index 0000000..d3b20c4 --- /dev/null +++ b/Assets/Resources/Audios/DevilResurrection.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:06895859febb4c1989cf22af95689fbf82307a3cf93edd6633e54a47a1f2cdec +size 228412 diff --git a/Assets/Resources/Audios/DevilResurrection.wav.meta b/Assets/Resources/Audios/DevilResurrection.wav.meta new file mode 100644 index 0000000..365bf68 --- /dev/null +++ b/Assets/Resources/Audios/DevilResurrection.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: cf181136baa2740c2bd7361bd07821e2 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/DragonAttackShield.wav b/Assets/Resources/Audios/DragonAttackShield.wav new file mode 100755 index 0000000..c36dc7c --- /dev/null +++ b/Assets/Resources/Audios/DragonAttackShield.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4495ead16b8571dc457eee9dd4733457d4caf13e9a24e110bf40edfd70e1a07d +size 627022 diff --git a/Assets/Resources/Audios/DragonAttackShield.wav.meta b/Assets/Resources/Audios/DragonAttackShield.wav.meta new file mode 100644 index 0000000..12464a7 --- /dev/null +++ b/Assets/Resources/Audios/DragonAttackShield.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 62149dc21b69f4066af71f1548e474e5 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/DragonBeHit.wav b/Assets/Resources/Audios/DragonBeHit.wav new file mode 100755 index 0000000..019540c --- /dev/null +++ b/Assets/Resources/Audios/DragonBeHit.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4df912a840ec8365a6b5c322c97e8b4f10e0b8a2009f78595cd79125a5846bf8 +size 39788 diff --git a/Assets/Resources/Audios/DragonBeHit.wav.meta b/Assets/Resources/Audios/DragonBeHit.wav.meta new file mode 100644 index 0000000..fe88035 --- /dev/null +++ b/Assets/Resources/Audios/DragonBeHit.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 43695a6a98e7445a2a4b5d091166840f +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/DragonDie.wav b/Assets/Resources/Audios/DragonDie.wav new file mode 100755 index 0000000..7b6523a --- /dev/null +++ b/Assets/Resources/Audios/DragonDie.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a9794d4bb08654cd5dc505e5d620b4108d2df335eef13c78382f8afc817fe68c +size 97796 diff --git a/Assets/Resources/Audios/DragonDie.wav.meta b/Assets/Resources/Audios/DragonDie.wav.meta new file mode 100644 index 0000000..56af9ce --- /dev/null +++ b/Assets/Resources/Audios/DragonDie.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 6bf653fcd11be4f909f596aa8733d599 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/DragonFire.wav b/Assets/Resources/Audios/DragonFire.wav new file mode 100755 index 0000000..0d07e29 --- /dev/null +++ b/Assets/Resources/Audios/DragonFire.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:854dfa0a18c4ff0625ea8b5c688570691dc1b6a09c25028b7cccd2553f6181fe +size 184142 diff --git a/Assets/Resources/Audios/DragonFire.wav.meta b/Assets/Resources/Audios/DragonFire.wav.meta new file mode 100644 index 0000000..0157c2e --- /dev/null +++ b/Assets/Resources/Audios/DragonFire.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 76c1b5dcea59d4ea8908b6c7129082e2 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/DragonResurrection.wav b/Assets/Resources/Audios/DragonResurrection.wav new file mode 100755 index 0000000..49cc504 --- /dev/null +++ b/Assets/Resources/Audios/DragonResurrection.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a7b795058b88707fb03ee901f132f57075c26b11e217a93206ba83a0f0570cd3 +size 186424 diff --git a/Assets/Resources/Audios/DragonResurrection.wav.meta b/Assets/Resources/Audios/DragonResurrection.wav.meta new file mode 100644 index 0000000..ccc779f --- /dev/null +++ b/Assets/Resources/Audios/DragonResurrection.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: a51d1271f3edc4b3db22b967f5f3a77a +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/English Number 01.wav b/Assets/Resources/Audios/English Number 01.wav new file mode 100644 index 0000000..0481085 --- /dev/null +++ b/Assets/Resources/Audios/English Number 01.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ea35b7a36923eba117451f52063a03ca907a0af352ca00649598aca26949775a +size 41374 diff --git a/Assets/Resources/Audios/English Number 01.wav.meta b/Assets/Resources/Audios/English Number 01.wav.meta new file mode 100644 index 0000000..9f7d58a --- /dev/null +++ b/Assets/Resources/Audios/English Number 01.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: fd49d79084738468ab0269a854f1f52e +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/English Number 02.wav b/Assets/Resources/Audios/English Number 02.wav new file mode 100644 index 0000000..1aa8325 --- /dev/null +++ b/Assets/Resources/Audios/English Number 02.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c94d188c4cb498b26f7e213f08610c463e660801c8ca42b83b7ba1e86faaeaae +size 43704 diff --git a/Assets/Resources/Audios/English Number 02.wav.meta b/Assets/Resources/Audios/English Number 02.wav.meta new file mode 100644 index 0000000..1004226 --- /dev/null +++ b/Assets/Resources/Audios/English Number 02.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: e160673b8c2b24fdda622129eab2383a +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/English Number 03.wav b/Assets/Resources/Audios/English Number 03.wav new file mode 100644 index 0000000..e3aec50 --- /dev/null +++ b/Assets/Resources/Audios/English Number 03.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fbf78ba35a232be6043e87f4a7324725fd1c26e32829d222b917c0401c6af6ba +size 50724 diff --git a/Assets/Resources/Audios/English Number 03.wav.meta b/Assets/Resources/Audios/English Number 03.wav.meta new file mode 100644 index 0000000..4325277 --- /dev/null +++ b/Assets/Resources/Audios/English Number 03.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: f7f47ddca8e40414b96cbc2e719fd2df +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/English Number 04.wav b/Assets/Resources/Audios/English Number 04.wav new file mode 100644 index 0000000..1e2e167 --- /dev/null +++ b/Assets/Resources/Audios/English Number 04.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f27ab1a9936219019be5d0e52a3a87523ce2cc1620206b67a88ba0b91e1a0f6 +size 56724 diff --git a/Assets/Resources/Audios/English Number 04.wav.meta b/Assets/Resources/Audios/English Number 04.wav.meta new file mode 100644 index 0000000..3dfba7a --- /dev/null +++ b/Assets/Resources/Audios/English Number 04.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: a7c16de9cf33145398bfd09e4dae9524 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/English Number 05.wav b/Assets/Resources/Audios/English Number 05.wav new file mode 100644 index 0000000..13a8cbf --- /dev/null +++ b/Assets/Resources/Audios/English Number 05.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3dbe7fb95d7f19eb2392cda287c8b0d674f4cf247b27f02a3e80d0a98f6e1648 +size 78004 diff --git a/Assets/Resources/Audios/English Number 05.wav.meta b/Assets/Resources/Audios/English Number 05.wav.meta new file mode 100644 index 0000000..c76a38d --- /dev/null +++ b/Assets/Resources/Audios/English Number 05.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: c720b963f96e34acb958288b457d8cc7 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/English Number 06.wav b/Assets/Resources/Audios/English Number 06.wav new file mode 100644 index 0000000..3456060 --- /dev/null +++ b/Assets/Resources/Audios/English Number 06.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:75a39551fd970211df17eb8fedd175792c1d640d410486a9af360425d6123f7d +size 73456 diff --git a/Assets/Resources/Audios/English Number 06.wav.meta b/Assets/Resources/Audios/English Number 06.wav.meta new file mode 100644 index 0000000..43e1adc --- /dev/null +++ b/Assets/Resources/Audios/English Number 06.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: d7503bc9e27624b37a8de55ce926c584 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/English Number 07.wav b/Assets/Resources/Audios/English Number 07.wav new file mode 100644 index 0000000..eb9c0ae --- /dev/null +++ b/Assets/Resources/Audios/English Number 07.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc8471c2c51ac11014ab549728930666413101cd39f22b4f6273f4c65269671b +size 60466 diff --git a/Assets/Resources/Audios/English Number 07.wav.meta b/Assets/Resources/Audios/English Number 07.wav.meta new file mode 100644 index 0000000..cf35563 --- /dev/null +++ b/Assets/Resources/Audios/English Number 07.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: eb0b18bc04bc1406880094a7edecbda7 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/English Number 08.wav b/Assets/Resources/Audios/English Number 08.wav new file mode 100644 index 0000000..ef6114f --- /dev/null +++ b/Assets/Resources/Audios/English Number 08.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a34c550ad1efb95b2daeb2f82094fb84224a1c8350684eb69b76d78fe216c697 +size 61008 diff --git a/Assets/Resources/Audios/English Number 08.wav.meta b/Assets/Resources/Audios/English Number 08.wav.meta new file mode 100644 index 0000000..c380619 --- /dev/null +++ b/Assets/Resources/Audios/English Number 08.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 774c3435d70c64fa79c0fd0cf00fc8ce +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/English Number 09.wav b/Assets/Resources/Audios/English Number 09.wav new file mode 100644 index 0000000..024fd6b --- /dev/null +++ b/Assets/Resources/Audios/English Number 09.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a94eac135acfd52f0694de4381b93ff2e0210f74960ab1723694ce7d687dc69 +size 57024 diff --git a/Assets/Resources/Audios/English Number 09.wav.meta b/Assets/Resources/Audios/English Number 09.wav.meta new file mode 100644 index 0000000..b723278 --- /dev/null +++ b/Assets/Resources/Audios/English Number 09.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: bd295ca4606b441a68ab17fa5066e87c +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/English Number 10.wav b/Assets/Resources/Audios/English Number 10.wav new file mode 100644 index 0000000..b6b60f9 --- /dev/null +++ b/Assets/Resources/Audios/English Number 10.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:033d564c579a3717245902d541ebacd11fa65ba895109cbc06d7684425476980 +size 45294 diff --git a/Assets/Resources/Audios/English Number 10.wav.meta b/Assets/Resources/Audios/English Number 10.wav.meta new file mode 100644 index 0000000..88fe658 --- /dev/null +++ b/Assets/Resources/Audios/English Number 10.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 668441888935d4131a3ca8e27f61957f +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/GhostAttackShield.wav b/Assets/Resources/Audios/GhostAttackShield.wav new file mode 100755 index 0000000..19c02c8 --- /dev/null +++ b/Assets/Resources/Audios/GhostAttackShield.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6978022380818cbaf0e76a4f0a852f9298b2579fe3b640eeeea74716ee978b3f +size 68320 diff --git a/Assets/Resources/Audios/GhostAttackShield.wav.meta b/Assets/Resources/Audios/GhostAttackShield.wav.meta new file mode 100644 index 0000000..856d3c9 --- /dev/null +++ b/Assets/Resources/Audios/GhostAttackShield.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 8b03de82f14ea4c899d655f06feef3dd +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/GhostBeHit.wav b/Assets/Resources/Audios/GhostBeHit.wav new file mode 100755 index 0000000..6e7f330 --- /dev/null +++ b/Assets/Resources/Audios/GhostBeHit.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03c25835efbf1827c1d2ac5b0ab5935a8984b68fc703d7f2ea18b8274ca1acbc +size 171426 diff --git a/Assets/Resources/Audios/GhostBeHit.wav.meta b/Assets/Resources/Audios/GhostBeHit.wav.meta new file mode 100644 index 0000000..8456412 --- /dev/null +++ b/Assets/Resources/Audios/GhostBeHit.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 371eb5f8405f0446d89839a132e26f89 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/GhostDie.wav b/Assets/Resources/Audios/GhostDie.wav new file mode 100755 index 0000000..7217cf6 --- /dev/null +++ b/Assets/Resources/Audios/GhostDie.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:96371e6b4c75affc1fa900a2125393754e33448b20e326fa4f49bb29488b331a +size 178824 diff --git a/Assets/Resources/Audios/GhostDie.wav.meta b/Assets/Resources/Audios/GhostDie.wav.meta new file mode 100644 index 0000000..634181c --- /dev/null +++ b/Assets/Resources/Audios/GhostDie.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 9af6ec776f2c64b6fb94bf2ffca2f69b +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/GhostFire.wav b/Assets/Resources/Audios/GhostFire.wav new file mode 100755 index 0000000..cd2d30c --- /dev/null +++ b/Assets/Resources/Audios/GhostFire.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b792f9e4d82a2467ebbfc39be2565d21f2392ae3aa9054a0a03990ef7e4f17d +size 116836 diff --git a/Assets/Resources/Audios/GhostFire.wav.meta b/Assets/Resources/Audios/GhostFire.wav.meta new file mode 100644 index 0000000..6c43515 --- /dev/null +++ b/Assets/Resources/Audios/GhostFire.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: e011efdea191747f69d719facbb9eb3b +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/GhostResurrection.wav b/Assets/Resources/Audios/GhostResurrection.wav new file mode 100755 index 0000000..1c89c8b --- /dev/null +++ b/Assets/Resources/Audios/GhostResurrection.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df56fe9d89580f195e464281a0c59d9c8c047747cdf7c661ad5f09b05f0c27b3 +size 197636 diff --git a/Assets/Resources/Audios/GhostResurrection.wav.meta b/Assets/Resources/Audios/GhostResurrection.wav.meta new file mode 100644 index 0000000..249d67a --- /dev/null +++ b/Assets/Resources/Audios/GhostResurrection.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 285853ff5b36041a99964a8252647fe4 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/GunFire.wav b/Assets/Resources/Audios/GunFire.wav new file mode 100755 index 0000000..b1ea47e --- /dev/null +++ b/Assets/Resources/Audios/GunFire.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44bad67ea012b734ffabdffb605405786d5b1470041c9844d6e264aa1fbdfbc7 +size 65896 diff --git a/Assets/Resources/Audios/GunFire.wav.meta b/Assets/Resources/Audios/GunFire.wav.meta new file mode 100644 index 0000000..d876cb4 --- /dev/null +++ b/Assets/Resources/Audios/GunFire.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 7a44cf78c20aa4a0eac72096c0d11867 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/HorseMove.wav b/Assets/Resources/Audios/HorseMove.wav new file mode 100755 index 0000000..3de7ff7 --- /dev/null +++ b/Assets/Resources/Audios/HorseMove.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8917059b8037cbb61abbceaf7c165ef0bae469e0c8c50f97b1fa17d2e8decc05 +size 100308 diff --git a/Assets/Resources/Audios/HorseMove.wav.meta b/Assets/Resources/Audios/HorseMove.wav.meta new file mode 100644 index 0000000..d7a0947 --- /dev/null +++ b/Assets/Resources/Audios/HorseMove.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 3412ef65bd71d406bb312df98a0f3ad1 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/Japanese Number 01.wav b/Assets/Resources/Audios/Japanese Number 01.wav new file mode 100644 index 0000000..357db9d --- /dev/null +++ b/Assets/Resources/Audios/Japanese Number 01.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26cc8c19d0e3493e85899b90404f5329aedc72b9f2c8abb66590ee49caee53fa +size 45780 diff --git a/Assets/Resources/Audios/Japanese Number 01.wav.meta b/Assets/Resources/Audios/Japanese Number 01.wav.meta new file mode 100644 index 0000000..60808a4 --- /dev/null +++ b/Assets/Resources/Audios/Japanese Number 01.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: d1455145cf432496d8984bed46bcd48b +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/Japanese Number 02.wav b/Assets/Resources/Audios/Japanese Number 02.wav new file mode 100644 index 0000000..c867e85 --- /dev/null +++ b/Assets/Resources/Audios/Japanese Number 02.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77bba50e1280e1a4de6a034376bef23d9dd0f7074abedf2c42df346380aa5862 +size 57810 diff --git a/Assets/Resources/Audios/Japanese Number 02.wav.meta b/Assets/Resources/Audios/Japanese Number 02.wav.meta new file mode 100644 index 0000000..70d4c03 --- /dev/null +++ b/Assets/Resources/Audios/Japanese Number 02.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: a26251eee025248a1a75a30424b78819 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/Japanese Number 03.wav b/Assets/Resources/Audios/Japanese Number 03.wav new file mode 100644 index 0000000..0f81df0 --- /dev/null +++ b/Assets/Resources/Audios/Japanese Number 03.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf041574900bfc4a3abd35ace8f66e273393a88844d024a5ebe9176388a40a08 +size 59908 diff --git a/Assets/Resources/Audios/Japanese Number 03.wav.meta b/Assets/Resources/Audios/Japanese Number 03.wav.meta new file mode 100644 index 0000000..6de1165 --- /dev/null +++ b/Assets/Resources/Audios/Japanese Number 03.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 68e908576d1e3412984d11792b2d98c8 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/Japanese Number 04.wav b/Assets/Resources/Audios/Japanese Number 04.wav new file mode 100644 index 0000000..9b75b42 --- /dev/null +++ b/Assets/Resources/Audios/Japanese Number 04.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92e41ad0c917e9e9ff16c777e457cd6868b5436e9f13ca1c1e13c1409950fcec +size 56686 diff --git a/Assets/Resources/Audios/Japanese Number 04.wav.meta b/Assets/Resources/Audios/Japanese Number 04.wav.meta new file mode 100644 index 0000000..49af731 --- /dev/null +++ b/Assets/Resources/Audios/Japanese Number 04.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: f5d4f17bae9b24d0f9794dd96833d536 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/Japanese Number 05.wav b/Assets/Resources/Audios/Japanese Number 05.wav new file mode 100644 index 0000000..6971d4c --- /dev/null +++ b/Assets/Resources/Audios/Japanese Number 05.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:93550e26d479419e934a62c7fa26ba131f6ee51657f2157658163c9435b5c427 +size 54872 diff --git a/Assets/Resources/Audios/Japanese Number 05.wav.meta b/Assets/Resources/Audios/Japanese Number 05.wav.meta new file mode 100644 index 0000000..b926c4d --- /dev/null +++ b/Assets/Resources/Audios/Japanese Number 05.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: df61bb889c8c24d859b4c04d260e4ed1 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/Japanese Number 06.wav b/Assets/Resources/Audios/Japanese Number 06.wav new file mode 100644 index 0000000..4fb0983 --- /dev/null +++ b/Assets/Resources/Audios/Japanese Number 06.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a9b148e546e7d2ab9ecbbf8b31b5abf06e167abcd494a27255be6546f29e455a +size 49976 diff --git a/Assets/Resources/Audios/Japanese Number 06.wav.meta b/Assets/Resources/Audios/Japanese Number 06.wav.meta new file mode 100644 index 0000000..b32ff04 --- /dev/null +++ b/Assets/Resources/Audios/Japanese Number 06.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: ed714cd9819a74d8892488b30cf2782a +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/Japanese Number 07.wav b/Assets/Resources/Audios/Japanese Number 07.wav new file mode 100644 index 0000000..bce8926 --- /dev/null +++ b/Assets/Resources/Audios/Japanese Number 07.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03e78fe7a5b91760ecba1d5a54135de5eaa9ee6e345f43cde8bb21a62073a1a2 +size 54872 diff --git a/Assets/Resources/Audios/Japanese Number 07.wav.meta b/Assets/Resources/Audios/Japanese Number 07.wav.meta new file mode 100644 index 0000000..0f49b11 --- /dev/null +++ b/Assets/Resources/Audios/Japanese Number 07.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 463bbe1d93af24fdeb05f2e2565b80f1 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/Japanese Number 08.wav b/Assets/Resources/Audios/Japanese Number 08.wav new file mode 100644 index 0000000..ee597ea --- /dev/null +++ b/Assets/Resources/Audios/Japanese Number 08.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2547cb1dc604c64036a07141e662d1c1cfe7a528acb9742e85701235a1f549a8 +size 53194 diff --git a/Assets/Resources/Audios/Japanese Number 08.wav.meta b/Assets/Resources/Audios/Japanese Number 08.wav.meta new file mode 100644 index 0000000..b40b9f0 --- /dev/null +++ b/Assets/Resources/Audios/Japanese Number 08.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: ff042523937194b129443cacac53207a +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/Japanese Number 09.wav b/Assets/Resources/Audios/Japanese Number 09.wav new file mode 100644 index 0000000..9d9e50d --- /dev/null +++ b/Assets/Resources/Audios/Japanese Number 09.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68d01b44da8d5a87cc79e943c60f63316f146cc6d48b91aed5e81df0093de67a +size 45084 diff --git a/Assets/Resources/Audios/Japanese Number 09.wav.meta b/Assets/Resources/Audios/Japanese Number 09.wav.meta new file mode 100644 index 0000000..cbf9245 --- /dev/null +++ b/Assets/Resources/Audios/Japanese Number 09.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: da15124f4259440b596b70896b5d611a +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/Japanese Number 10.wav b/Assets/Resources/Audios/Japanese Number 10.wav new file mode 100644 index 0000000..da56a58 --- /dev/null +++ b/Assets/Resources/Audios/Japanese Number 10.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2471454106d1a533ec73088638dbb237e8bee2591786c8d1777fd5964eb60213 +size 47564 diff --git a/Assets/Resources/Audios/Japanese Number 10.wav.meta b/Assets/Resources/Audios/Japanese Number 10.wav.meta new file mode 100644 index 0000000..1a3d21a --- /dev/null +++ b/Assets/Resources/Audios/Japanese Number 10.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 125febd743a2b471b939e07c3d467241 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/LevelBegins.wav b/Assets/Resources/Audios/LevelBegins.wav new file mode 100755 index 0000000..dfb45f1 --- /dev/null +++ b/Assets/Resources/Audios/LevelBegins.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:130d53ead47e644f0cc4dd43e631be8841c18f909152da60015db00a7f2573a3 +size 213452 diff --git a/Assets/Resources/Audios/LevelBegins.wav.meta b/Assets/Resources/Audios/LevelBegins.wav.meta new file mode 100644 index 0000000..48b22d1 --- /dev/null +++ b/Assets/Resources/Audios/LevelBegins.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 8ed3165930ccb46cc896a753043ff69b +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/Master.mixer b/Assets/Resources/Audios/Master.mixer new file mode 100644 index 0000000..ff0b723 --- /dev/null +++ b/Assets/Resources/Audios/Master.mixer @@ -0,0 +1,300 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!243 &-8446907912838507648 +AudioMixerGroupController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Music + m_AudioMixer: {fileID: 24100000} + m_GroupID: 5e41f800db72248f5afd2396c0554245 + m_Children: [] + m_Volume: d66e5a701962f484baca61ea5f29bab9 + m_Pitch: 7a42c8eeb53b64c8e8498069c9883125 + m_Send: 00000000000000000000000000000000 + m_Effects: + - {fileID: 2280317501892162058} + - {fileID: -3976313734993682518} + m_UserColorIndex: 0 + m_Mute: 0 + m_Solo: 0 + m_BypassEffects: 0 +--- !u!244 &-7229080559559883385 +AudioMixerEffectController: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_EffectID: 964b8936a4083452b97f6ddcf7a5a1f7 + m_EffectName: Attenuation + m_MixLevel: 0c6edfd2940a74042b230a211fdaf269 + m_Parameters: [] + m_SendTarget: {fileID: 0} + m_EnableWetMix: 0 + m_Bypass: 0 +--- !u!244 &-6831742158907791468 +AudioMixerEffectController: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_EffectID: be7946b896def4e46bd51e59e8358aa8 + m_EffectName: Send + m_MixLevel: 19038a83c76cc4d6a879eac8c024aae0 + m_Parameters: [] + m_SendTarget: {fileID: -3976313734993682518} + m_EnableWetMix: 0 + m_Bypass: 0 +--- !u!244 &-6665976776102383147 +AudioMixerEffectController: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_EffectID: 3e7fcd86166f847b8ae3ebd0a9bb4c9b + m_EffectName: Attenuation + m_MixLevel: ac183dc86c0704d20b95a374e2badd7c + m_Parameters: [] + m_SendTarget: {fileID: 0} + m_EnableWetMix: 0 + m_Bypass: 0 +--- !u!243 &-6142301680816599810 +AudioMixerGroupController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Ambience + m_AudioMixer: {fileID: 24100000} + m_GroupID: bd6166e85bbd34672815848ab982ee14 + m_Children: [] + m_Volume: 33063898bc8ef442eaeaf76f1829a2f5 + m_Pitch: 1e0fa5108fcf143f3bcde61694c6d1db + m_Send: 00000000000000000000000000000000 + m_Effects: + - {fileID: -1981897495521119487} + - {fileID: -6045748687481139619} + m_UserColorIndex: 0 + m_Mute: 0 + m_Solo: 0 + m_BypassEffects: 0 +--- !u!244 &-6045748687481139619 +AudioMixerEffectController: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_EffectID: bef639672ceb442af90e60dbff74ae6f + m_EffectName: Duck Volume + m_MixLevel: 0a2a986e065804ed3917f48539fff0cd + m_Parameters: + - m_ParameterName: Threshold + m_GUID: 80ec80f006d91439c8d81687e16601ba + - m_ParameterName: Ratio + m_GUID: e3503824fa88443c483078c0d180b327 + - m_ParameterName: Attack Time + m_GUID: c0e3e53bc716b4f74b335bdb0d074e5a + - m_ParameterName: Release Time + m_GUID: ab2145d71501b4b108b75876711fc113 + - m_ParameterName: Make-up Gain + m_GUID: 0acb06830e9c741b384f8bd11f061ca9 + - m_ParameterName: Knee + m_GUID: 1f642e4602ee341c39249cfb52c84373 + - m_ParameterName: Sidechain Mix + m_GUID: 7b0aa971f34c74ed1b989d57c068ad86 + m_SendTarget: {fileID: 0} + m_EnableWetMix: 0 + m_Bypass: 0 +--- !u!244 &-3976313734993682518 +AudioMixerEffectController: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_EffectID: 66a6a6873e1b44bc5bc8a6e50a3c1925 + m_EffectName: Duck Volume + m_MixLevel: b8112ec28b502409daafabcbaf79ed3b + m_Parameters: + - m_ParameterName: Threshold + m_GUID: 3869b98ab11504a098a56f2c8e1e00ad + - m_ParameterName: Ratio + m_GUID: 0c33a67d73c704aa69306f20c988dc5f + - m_ParameterName: Attack Time + m_GUID: 63259dc9fa6a042aaad3737e393eb080 + - m_ParameterName: Release Time + m_GUID: d696654dea23242b49fe7e20ab1a3499 + - m_ParameterName: Make-up Gain + m_GUID: cfade774b23c846479d2f08dac43b9a6 + - m_ParameterName: Knee + m_GUID: e3aad1bd39ad2475e93605afe7ff8923 + - m_ParameterName: Sidechain Mix + m_GUID: 91654c3695a2c4b029f25e4a4ad16688 + m_SendTarget: {fileID: 0} + m_EnableWetMix: 0 + m_Bypass: 0 +--- !u!244 &-1981897495521119487 +AudioMixerEffectController: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_EffectID: 3b41c60abf55f45139441c164268f170 + m_EffectName: Attenuation + m_MixLevel: eb0bd26c98e0c4cf68709bdccb6eec45 + m_Parameters: [] + m_SendTarget: {fileID: 0} + m_EnableWetMix: 0 + m_Bypass: 0 +--- !u!243 &-1744738308437188463 +AudioMixerGroupController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: SFX + m_AudioMixer: {fileID: 24100000} + m_GroupID: 20a5c6ab28a5749919441bf9d00606c8 + m_Children: + - {fileID: -6142301680816599810} + m_Volume: f9b2498f18d9c4346b50d00374df58fc + m_Pitch: a6553226cdd65475eb62b1683f74b97a + m_Send: 00000000000000000000000000000000 + m_Effects: + - {fileID: -7229080559559883385} + m_UserColorIndex: 0 + m_Mute: 0 + m_Solo: 0 + m_BypassEffects: 0 +--- !u!241 &24100000 +AudioMixerController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Master + m_OutputGroup: {fileID: 0} + m_MasterGroup: {fileID: 24300002} + m_Snapshots: + - {fileID: 24500006} + m_StartSnapshot: {fileID: 24500006} + m_SuspendThreshold: -80 + m_EnableSuspend: 1 + m_UpdateMode: 0 + m_ExposedParameters: [] + m_AudioMixerGroupViews: + - guids: + - 3ef0a681afabf403eae42ddfe3bed37e + - 20a5c6ab28a5749919441bf9d00606c8 + - fbb492056217044b38d9101862ddc436 + - 5e41f800db72248f5afd2396c0554245 + - bd6166e85bbd34672815848ab982ee14 + name: View + m_CurrentViewIndex: 0 + m_TargetSnapshot: {fileID: 24500006} +--- !u!243 &24300002 +AudioMixerGroupController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Master + m_AudioMixer: {fileID: 24100000} + m_GroupID: 3ef0a681afabf403eae42ddfe3bed37e + m_Children: + - {fileID: -1744738308437188463} + - {fileID: 6676643924165511292} + - {fileID: -8446907912838507648} + m_Volume: d25d07d33c23743818a83a02bdf2d50f + m_Pitch: 742836698fec2460687f7c5098a06cfe + m_Send: 00000000000000000000000000000000 + m_Effects: + - {fileID: 24400004} + m_UserColorIndex: 0 + m_Mute: 0 + m_Solo: 0 + m_BypassEffects: 0 +--- !u!244 &24400004 +AudioMixerEffectController: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_EffectID: 29460b5883b2e45529cc160dd8ef585e + m_EffectName: Attenuation + m_MixLevel: c9b8f52fabd1644078c28d6a3e52cfa0 + m_Parameters: [] + m_SendTarget: {fileID: 0} + m_EnableWetMix: 0 + m_Bypass: 0 +--- !u!245 &24500006 +AudioMixerSnapshotController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Snapshot + m_AudioMixer: {fileID: 24100000} + m_SnapshotID: 63ccd225cc2574a849ba6b48bc35a1b4 + m_FloatValues: + 19038a83c76cc4d6a879eac8c024aae0: 0 + 9d40f8f6b3cb746b880ab3eef4d4d147: 0 + 6194c288be1cd4cef9afabff865f1674: 0 + d171c8cff3d664001b51b62c1b77ab53: 0 + m_TransitionOverrides: {} +--- !u!244 &2280317501892162058 +AudioMixerEffectController: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_EffectID: 91f7625efa0024919b98b5a73b65b037 + m_EffectName: Attenuation + m_MixLevel: 2195390eedb0944bab3a9ed6d9dc2998 + m_Parameters: [] + m_SendTarget: {fileID: 0} + m_EnableWetMix: 0 + m_Bypass: 0 +--- !u!244 &5392472840872469294 +AudioMixerEffectController: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_EffectID: fdaf2c98e370c4583ba6622a16bdbb1e + m_EffectName: Send + m_MixLevel: d171c8cff3d664001b51b62c1b77ab53 + m_Parameters: [] + m_SendTarget: {fileID: -6045748687481139619} + m_EnableWetMix: 0 + m_Bypass: 0 +--- !u!243 &6676643924165511292 +AudioMixerGroupController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Voice + m_AudioMixer: {fileID: 24100000} + m_GroupID: fbb492056217044b38d9101862ddc436 + m_Children: [] + m_Volume: bd3c2e9d76bd5446ab3f0200f79c27fb + m_Pitch: 067b0396a26c4489ab859ec7ea4cbd33 + m_Send: 00000000000000000000000000000000 + m_Effects: + - {fileID: -6665976776102383147} + - {fileID: 5392472840872469294} + - {fileID: -6831742158907791468} + m_UserColorIndex: 0 + m_Mute: 0 + m_Solo: 0 + m_BypassEffects: 0 diff --git a/Assets/Resources/Audios/Master.mixer.meta b/Assets/Resources/Audios/Master.mixer.meta new file mode 100644 index 0000000..6ca1465 --- /dev/null +++ b/Assets/Resources/Audios/Master.mixer.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 11793d92750e64286bcdd6a61eeec520 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 24100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/PrincessDown.wav b/Assets/Resources/Audios/PrincessDown.wav new file mode 100755 index 0000000..85171f9 --- /dev/null +++ b/Assets/Resources/Audios/PrincessDown.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d38254b268d72b3b27028223426126580aceddf38d26a03e74adc230d4591b8 +size 87714 diff --git a/Assets/Resources/Audios/PrincessDown.wav.meta b/Assets/Resources/Audios/PrincessDown.wav.meta new file mode 100644 index 0000000..7dd9847 --- /dev/null +++ b/Assets/Resources/Audios/PrincessDown.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: a2d64930e1ed04b57b7449ed7a2a2c5b +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/PrincessFear.wav b/Assets/Resources/Audios/PrincessFear.wav new file mode 100755 index 0000000..bab4cfb --- /dev/null +++ b/Assets/Resources/Audios/PrincessFear.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b998e1e64423405fe7033526281dd33373bf90704d56a30b2b0413eba474d922 +size 125262 diff --git a/Assets/Resources/Audios/PrincessFear.wav.meta b/Assets/Resources/Audios/PrincessFear.wav.meta new file mode 100644 index 0000000..b6e53b6 --- /dev/null +++ b/Assets/Resources/Audios/PrincessFear.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: b77a4a7e2d2a94ddc9e17de152b3a0a7 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/ShieldBroken.wav b/Assets/Resources/Audios/ShieldBroken.wav new file mode 100755 index 0000000..aa33fdc --- /dev/null +++ b/Assets/Resources/Audios/ShieldBroken.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26aa25978c63061ac552426dbb6548464aba84b141427cbdb098ce0f1d9cba98 +size 60232 diff --git a/Assets/Resources/Audios/ShieldBroken.wav.meta b/Assets/Resources/Audios/ShieldBroken.wav.meta new file mode 100644 index 0000000..e52ca53 --- /dev/null +++ b/Assets/Resources/Audios/ShieldBroken.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 2dce0326f88c94bab8175fbffe32ab03 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/ShieldUnderAttack.wav b/Assets/Resources/Audios/ShieldUnderAttack.wav new file mode 100755 index 0000000..731f6fc --- /dev/null +++ b/Assets/Resources/Audios/ShieldUnderAttack.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a0e3f7c2423e8d2d107d31c271a2008743e44303d9a04c87c61b35d505c3429 +size 42806 diff --git a/Assets/Resources/Audios/ShieldUnderAttack.wav.meta b/Assets/Resources/Audios/ShieldUnderAttack.wav.meta new file mode 100644 index 0000000..8045fe4 --- /dev/null +++ b/Assets/Resources/Audios/ShieldUnderAttack.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 520cc69bd1a504c4e9cafd5824b85851 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/Spanish Number 01.wav b/Assets/Resources/Audios/Spanish Number 01.wav new file mode 100644 index 0000000..af99b92 --- /dev/null +++ b/Assets/Resources/Audios/Spanish Number 01.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:336a86b2835a003c64a2740dcffeaf2c273fc531b4eee0b734874765ccf4fe74 +size 64732 diff --git a/Assets/Resources/Audios/Spanish Number 01.wav.meta b/Assets/Resources/Audios/Spanish Number 01.wav.meta new file mode 100644 index 0000000..eb5f9f8 --- /dev/null +++ b/Assets/Resources/Audios/Spanish Number 01.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 7f471276910464b878e95996b8420db6 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/Spanish Number 02.wav b/Assets/Resources/Audios/Spanish Number 02.wav new file mode 100644 index 0000000..2197fd2 --- /dev/null +++ b/Assets/Resources/Audios/Spanish Number 02.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:648d0725fc73bb7dd01bfc131579733ff10e2a00c29a90cc3619d169380cbeba +size 67598 diff --git a/Assets/Resources/Audios/Spanish Number 02.wav.meta b/Assets/Resources/Audios/Spanish Number 02.wav.meta new file mode 100644 index 0000000..805d9b1 --- /dev/null +++ b/Assets/Resources/Audios/Spanish Number 02.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: f0704d1d64be942e0b2697ede00fea07 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/Spanish Number 03.wav b/Assets/Resources/Audios/Spanish Number 03.wav new file mode 100644 index 0000000..5728b8d --- /dev/null +++ b/Assets/Resources/Audios/Spanish Number 03.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3362dfa57495b55307052b4931b6ef617f56fef0fffe1710d02d2122cfd86d8b +size 68998 diff --git a/Assets/Resources/Audios/Spanish Number 03.wav.meta b/Assets/Resources/Audios/Spanish Number 03.wav.meta new file mode 100644 index 0000000..007ca79 --- /dev/null +++ b/Assets/Resources/Audios/Spanish Number 03.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 16da8a923ce7841368c3abff4d0d3752 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/Spanish Number 04.wav b/Assets/Resources/Audios/Spanish Number 04.wav new file mode 100644 index 0000000..e5e4e86 --- /dev/null +++ b/Assets/Resources/Audios/Spanish Number 04.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b03d1d6594c7efc26a0b73f3a69ce29024d96ddbe1bfb17d9eb96972543bd3e +size 74872 diff --git a/Assets/Resources/Audios/Spanish Number 04.wav.meta b/Assets/Resources/Audios/Spanish Number 04.wav.meta new file mode 100644 index 0000000..d535408 --- /dev/null +++ b/Assets/Resources/Audios/Spanish Number 04.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: d950c313d1abe480183eab5ec5ccd978 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/Spanish Number 05.wav b/Assets/Resources/Audios/Spanish Number 05.wav new file mode 100644 index 0000000..62b8c54 --- /dev/null +++ b/Assets/Resources/Audios/Spanish Number 05.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c121c0999ce18802ed1677ba3d8630a9802dabbd4ed9cc0f5ee33b3ed055f67d +size 63676 diff --git a/Assets/Resources/Audios/Spanish Number 05.wav.meta b/Assets/Resources/Audios/Spanish Number 05.wav.meta new file mode 100644 index 0000000..51cd4ec --- /dev/null +++ b/Assets/Resources/Audios/Spanish Number 05.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 9526f9a5cd4124c62b01ae5c747684c3 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/Spanish Number 06.wav b/Assets/Resources/Audios/Spanish Number 06.wav new file mode 100644 index 0000000..356be16 --- /dev/null +++ b/Assets/Resources/Audios/Spanish Number 06.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:daf313c221a729059c548e6c89f4384bf02b374cc48806509859f15f7aade6e1 +size 67512 diff --git a/Assets/Resources/Audios/Spanish Number 06.wav.meta b/Assets/Resources/Audios/Spanish Number 06.wav.meta new file mode 100644 index 0000000..1b7d732 --- /dev/null +++ b/Assets/Resources/Audios/Spanish Number 06.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: ce0a5787ab524492798fef72360014ff +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/Spanish Number 07.wav b/Assets/Resources/Audios/Spanish Number 07.wav new file mode 100644 index 0000000..3ac2458 --- /dev/null +++ b/Assets/Resources/Audios/Spanish Number 07.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ba437608717c3dd1f98054cfaaaf5b96968d21e86b4eb1a9e4221776ff43653 +size 91274 diff --git a/Assets/Resources/Audios/Spanish Number 07.wav.meta b/Assets/Resources/Audios/Spanish Number 07.wav.meta new file mode 100644 index 0000000..dab46c9 --- /dev/null +++ b/Assets/Resources/Audios/Spanish Number 07.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 669b5e293cb954bc394f7c416d488da0 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/Spanish Number 08.wav b/Assets/Resources/Audios/Spanish Number 08.wav new file mode 100644 index 0000000..b75c582 --- /dev/null +++ b/Assets/Resources/Audios/Spanish Number 08.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:739da640f636aa59c4f3bf85549b06b353b0cd6fa9275c2e88ae3de48af17993 +size 69760 diff --git a/Assets/Resources/Audios/Spanish Number 08.wav.meta b/Assets/Resources/Audios/Spanish Number 08.wav.meta new file mode 100644 index 0000000..207643b --- /dev/null +++ b/Assets/Resources/Audios/Spanish Number 08.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 6b664f7395c6345cc8b29ef8d3fe7663 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/Spanish Number 09.wav b/Assets/Resources/Audios/Spanish Number 09.wav new file mode 100644 index 0000000..d35bbe4 --- /dev/null +++ b/Assets/Resources/Audios/Spanish Number 09.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ff8b3baff8c98af8ad76705a123ef4267c5a4e5f337bd8b9d75ea4e1af6cc8c +size 69102 diff --git a/Assets/Resources/Audios/Spanish Number 09.wav.meta b/Assets/Resources/Audios/Spanish Number 09.wav.meta new file mode 100644 index 0000000..eca3692 --- /dev/null +++ b/Assets/Resources/Audios/Spanish Number 09.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 79d3415eb570f4f14a3d405291c06de9 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/Spanish Number 10.wav b/Assets/Resources/Audios/Spanish Number 10.wav new file mode 100644 index 0000000..d17ca55 --- /dev/null +++ b/Assets/Resources/Audios/Spanish Number 10.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5147e03b4b91ef2c8bb1eb007f345dacdaa6634aaf368081afdeabf4471801e3 +size 70376 diff --git a/Assets/Resources/Audios/Spanish Number 10.wav.meta b/Assets/Resources/Audios/Spanish Number 10.wav.meta new file mode 100644 index 0000000..128f81d --- /dev/null +++ b/Assets/Resources/Audios/Spanish Number 10.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 739e56ffe40dc41a2abb86687022f446 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/Spin.wav b/Assets/Resources/Audios/Spin.wav new file mode 100755 index 0000000..ca10315 --- /dev/null +++ b/Assets/Resources/Audios/Spin.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26457387e83effd155e9909ee90a9aefbe03e06ee7733bc4e8e6136010282b8e +size 4524 diff --git a/Assets/Resources/Audios/Spin.wav.meta b/Assets/Resources/Audios/Spin.wav.meta new file mode 100644 index 0000000..62661e7 --- /dev/null +++ b/Assets/Resources/Audios/Spin.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: bfa3e029edda74059bfb0e3649179a72 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/TigerMove.wav b/Assets/Resources/Audios/TigerMove.wav new file mode 100755 index 0000000..8e33f13 --- /dev/null +++ b/Assets/Resources/Audios/TigerMove.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc1df369c8597fa28468c6190e14c0d6e11f3bb5a27923c880b7c3d1b00ee240 +size 136706 diff --git a/Assets/Resources/Audios/TigerMove.wav.meta b/Assets/Resources/Audios/TigerMove.wav.meta new file mode 100644 index 0000000..410df8e --- /dev/null +++ b/Assets/Resources/Audios/TigerMove.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 0644cc1efcd664b7c9e5a006ecf4397c +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/UnlockProp.wav b/Assets/Resources/Audios/UnlockProp.wav new file mode 100755 index 0000000..0eacb3b --- /dev/null +++ b/Assets/Resources/Audios/UnlockProp.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a19d8a2570e73cb67a50954f9c93dfb88a43eff5a7da3b3f72f25daa3d8d924 +size 24660 diff --git a/Assets/Resources/Audios/UnlockProp.wav.meta b/Assets/Resources/Audios/UnlockProp.wav.meta new file mode 100644 index 0000000..f929c98 --- /dev/null +++ b/Assets/Resources/Audios/UnlockProp.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 95d37ff23bbca4b47b191397ff4b8782 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/UnlockTurret.wav b/Assets/Resources/Audios/UnlockTurret.wav new file mode 100755 index 0000000..2356342 --- /dev/null +++ b/Assets/Resources/Audios/UnlockTurret.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd887ffd53bd84da3c31e013900833d55f8a0fb507b750996b118c20a2f797da +size 73582 diff --git a/Assets/Resources/Audios/UnlockTurret.wav.meta b/Assets/Resources/Audios/UnlockTurret.wav.meta new file mode 100644 index 0000000..5c6df92 --- /dev/null +++ b/Assets/Resources/Audios/UnlockTurret.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 413f67ca078fd403dacb5d5f76286735 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/Victory.wav b/Assets/Resources/Audios/Victory.wav new file mode 100755 index 0000000..38e5222 --- /dev/null +++ b/Assets/Resources/Audios/Victory.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c7f7e3659e2a3d3f5407764b6a9bacd812861148477a243cab5389cabb1d0d85 +size 278532 diff --git a/Assets/Resources/Audios/Victory.wav.meta b/Assets/Resources/Audios/Victory.wav.meta new file mode 100644 index 0000000..bd4a9b4 --- /dev/null +++ b/Assets/Resources/Audios/Victory.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 1520240973a9d427f97f672e4a16dab4 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/WeaponExhausted.wav b/Assets/Resources/Audios/WeaponExhausted.wav new file mode 100755 index 0000000..75acc4e --- /dev/null +++ b/Assets/Resources/Audios/WeaponExhausted.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb8b9f6b3bd7fc06841c2cd3ad6770996551267ffda64f1bb7371c729dc2c247 +size 85776 diff --git a/Assets/Resources/Audios/WeaponExhausted.wav.meta b/Assets/Resources/Audios/WeaponExhausted.wav.meta new file mode 100644 index 0000000..0421b69 --- /dev/null +++ b/Assets/Resources/Audios/WeaponExhausted.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: d6ec0ff4623db4adead492bff0b8969a +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/WeaponFire.wav b/Assets/Resources/Audios/WeaponFire.wav new file mode 100755 index 0000000..4b3df98 --- /dev/null +++ b/Assets/Resources/Audios/WeaponFire.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a5cd0165d625a2aef16b91a19e1cb688a8ebda2d4ec3e3a49a47a1f8f9174ace +size 23302 diff --git a/Assets/Resources/Audios/WeaponFire.wav.meta b/Assets/Resources/Audios/WeaponFire.wav.meta new file mode 100644 index 0000000..2325452 --- /dev/null +++ b/Assets/Resources/Audios/WeaponFire.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 64e6fbd539abd415eaf5c36eaae67e9f +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 0.29999998 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/au_bgm_coreplay.wav b/Assets/Resources/Audios/au_bgm_coreplay.wav new file mode 100644 index 0000000..f410e6b --- /dev/null +++ b/Assets/Resources/Audios/au_bgm_coreplay.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a0d329bbaad6a9c04ffb53dba01871c7a39f2d6b9bd3e4d2c4bc872b9b945dab +size 7007418 diff --git a/Assets/Resources/Audios/au_bgm_coreplay.wav.meta b/Assets/Resources/Audios/au_bgm_coreplay.wav.meta new file mode 100644 index 0000000..f1c74fc --- /dev/null +++ b/Assets/Resources/Audios/au_bgm_coreplay.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: d5d1b6742d78c4de2b4cd17b3bec6906 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/au_bgm_home.wav b/Assets/Resources/Audios/au_bgm_home.wav new file mode 100644 index 0000000..27a5222 --- /dev/null +++ b/Assets/Resources/Audios/au_bgm_home.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3872c80efcbdcf8abafe45ba3ed17ddfc2410a84248e6740cb5a0b849580bae +size 9828078 diff --git a/Assets/Resources/Audios/au_bgm_home.wav.meta b/Assets/Resources/Audios/au_bgm_home.wav.meta new file mode 100644 index 0000000..b68371d --- /dev/null +++ b/Assets/Resources/Audios/au_bgm_home.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 770d3aa44df394e5983bb990c4779548 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/au_stream.ogg b/Assets/Resources/Audios/au_stream.ogg new file mode 100644 index 0000000..82ad667 Binary files /dev/null and b/Assets/Resources/Audios/au_stream.ogg differ diff --git a/Assets/Resources/Audios/au_stream.ogg.meta b/Assets/Resources/Audios/au_stream.ogg.meta new file mode 100644 index 0000000..823ca83 --- /dev/null +++ b/Assets/Resources/Audios/au_stream.ogg.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 13008300ee452495db4021566d698138 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/music_home_base_01_16.wav b/Assets/Resources/Audios/music_home_base_01_16.wav new file mode 100644 index 0000000..f37e52c --- /dev/null +++ b/Assets/Resources/Audios/music_home_base_01_16.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7cdb37c974e6cfcf88014c6858f65efb3d0cfc680c79e0803ddce3aad4ab0fa3 +size 5607102 diff --git a/Assets/Resources/Audios/music_home_base_01_16.wav.meta b/Assets/Resources/Audios/music_home_base_01_16.wav.meta new file mode 100644 index 0000000..1afdc42 --- /dev/null +++ b/Assets/Resources/Audios/music_home_base_01_16.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: c282f8695b6c346afb25358183ada92c +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/music_home_base_02.wav b/Assets/Resources/Audios/music_home_base_02.wav new file mode 100644 index 0000000..838912a --- /dev/null +++ b/Assets/Resources/Audios/music_home_base_02.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e134da167952321fb86ae0594f9f9ea5c816d56d7e9968e77055fba4619caa8 +size 5607018 diff --git a/Assets/Resources/Audios/music_home_base_02.wav.meta b/Assets/Resources/Audios/music_home_base_02.wav.meta new file mode 100644 index 0000000..6a2aa73 --- /dev/null +++ b/Assets/Resources/Audios/music_home_base_02.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 379654e49bbb640138f77b9b231ebef5 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/music_home_base_03.wav b/Assets/Resources/Audios/music_home_base_03.wav new file mode 100644 index 0000000..9b73a0f --- /dev/null +++ b/Assets/Resources/Audios/music_home_base_03.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7364f7a2c26456bf08a8f452c3ab0e1b0b514847ff252d0802eca4997bcb711a +size 5277314 diff --git a/Assets/Resources/Audios/music_home_base_03.wav.meta b/Assets/Resources/Audios/music_home_base_03.wav.meta new file mode 100644 index 0000000..114c4e0 --- /dev/null +++ b/Assets/Resources/Audios/music_home_base_03.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 3749b62fd28484cf9aed336b8b78efa7 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/music_home_drum_01_p1b_16.wav b/Assets/Resources/Audios/music_home_drum_01_p1b_16.wav new file mode 100644 index 0000000..19329d6 --- /dev/null +++ b/Assets/Resources/Audios/music_home_drum_01_p1b_16.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c3ab77d580433469c9395eb45760af98a8604e635fb1e7a84845541e7dde39c +size 5607102 diff --git a/Assets/Resources/Audios/music_home_drum_01_p1b_16.wav.meta b/Assets/Resources/Audios/music_home_drum_01_p1b_16.wav.meta new file mode 100644 index 0000000..fbc84e3 --- /dev/null +++ b/Assets/Resources/Audios/music_home_drum_01_p1b_16.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 542afe76d819d4ca6baaff62f7b9c9e6 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/music_home_drum_02_p1b.wav b/Assets/Resources/Audios/music_home_drum_02_p1b.wav new file mode 100644 index 0000000..7f1ef2e --- /dev/null +++ b/Assets/Resources/Audios/music_home_drum_02_p1b.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:45e9117c6aa26abb8d45e99052a5c9da54dc6d569db0454f7e1836c8cfc98be4 +size 5936804 diff --git a/Assets/Resources/Audios/music_home_drum_02_p1b.wav.meta b/Assets/Resources/Audios/music_home_drum_02_p1b.wav.meta new file mode 100644 index 0000000..8258a47 --- /dev/null +++ b/Assets/Resources/Audios/music_home_drum_02_p1b.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 63816610268ea42e28c7d8ebe81a480d +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/music_home_drum_03_16.wav b/Assets/Resources/Audios/music_home_drum_03_16.wav new file mode 100644 index 0000000..59b880a --- /dev/null +++ b/Assets/Resources/Audios/music_home_drum_03_16.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:65c825c4aa407d82557c939b8b96e37dd53582743a7471ad6c1cc4ed18648f87 +size 5277314 diff --git a/Assets/Resources/Audios/music_home_drum_03_16.wav.meta b/Assets/Resources/Audios/music_home_drum_03_16.wav.meta new file mode 100644 index 0000000..d5f4ad6 --- /dev/null +++ b/Assets/Resources/Audios/music_home_drum_03_16.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 450419dfb5345473eb14347d3b5e77c4 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/music_home_epiano_01_16.wav b/Assets/Resources/Audios/music_home_epiano_01_16.wav new file mode 100644 index 0000000..b558de7 --- /dev/null +++ b/Assets/Resources/Audios/music_home_epiano_01_16.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b538dfd2230b774ee688dbba60a6d4f8325df71d84f29d0bef7b84813b6a973a +size 5936888 diff --git a/Assets/Resources/Audios/music_home_epiano_01_16.wav.meta b/Assets/Resources/Audios/music_home_epiano_01_16.wav.meta new file mode 100644 index 0000000..19858c7 --- /dev/null +++ b/Assets/Resources/Audios/music_home_epiano_01_16.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 1b87723e41c3d4ef7a2d1012f3e41cee +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/music_home_epiano_01_v2_16.wav b/Assets/Resources/Audios/music_home_epiano_01_v2_16.wav new file mode 100644 index 0000000..8e2bb21 --- /dev/null +++ b/Assets/Resources/Audios/music_home_epiano_01_v2_16.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2036134c47e72c7513a6cd75b8980236586fb4f8da1f836b0364e571aa07dbc5 +size 5277314 diff --git a/Assets/Resources/Audios/music_home_epiano_01_v2_16.wav.meta b/Assets/Resources/Audios/music_home_epiano_01_v2_16.wav.meta new file mode 100644 index 0000000..3c8cee7 --- /dev/null +++ b/Assets/Resources/Audios/music_home_epiano_01_v2_16.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: eb25bd9d0b7c0434f98ca148e99d9f5b +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/music_home_epiano_02_16.wav b/Assets/Resources/Audios/music_home_epiano_02_16.wav new file mode 100644 index 0000000..0ee9969 --- /dev/null +++ b/Assets/Resources/Audios/music_home_epiano_02_16.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d24b0057bf91105b0789e416b8c6b023c896dbe1c498a91e5d725149df227bf1 +size 5607102 diff --git a/Assets/Resources/Audios/music_home_epiano_02_16.wav.meta b/Assets/Resources/Audios/music_home_epiano_02_16.wav.meta new file mode 100644 index 0000000..4653e04 --- /dev/null +++ b/Assets/Resources/Audios/music_home_epiano_02_16.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 329ffa2dc4b484e719a17b5fef41eebd +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/music_home_guitar_01_16.wav b/Assets/Resources/Audios/music_home_guitar_01_16.wav new file mode 100644 index 0000000..62d837b --- /dev/null +++ b/Assets/Resources/Audios/music_home_guitar_01_16.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e131473a7566544c7f8eba7e368e7349faa21aea31135bfa18ea36fbf2f8e83 +size 5936888 diff --git a/Assets/Resources/Audios/music_home_guitar_01_16.wav.meta b/Assets/Resources/Audios/music_home_guitar_01_16.wav.meta new file mode 100644 index 0000000..fb66248 --- /dev/null +++ b/Assets/Resources/Audios/music_home_guitar_01_16.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: fc1499169732c46b79c78246678d28ce +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/music_home_guitar_02_16.wav b/Assets/Resources/Audios/music_home_guitar_02_16.wav new file mode 100644 index 0000000..078b6a0 --- /dev/null +++ b/Assets/Resources/Audios/music_home_guitar_02_16.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:099d481ae3fd27ffc8e966c44386826f93ff2cea9870c470d71f8c780080d528 +size 5277230 diff --git a/Assets/Resources/Audios/music_home_guitar_02_16.wav.meta b/Assets/Resources/Audios/music_home_guitar_02_16.wav.meta new file mode 100644 index 0000000..a6583fc --- /dev/null +++ b/Assets/Resources/Audios/music_home_guitar_02_16.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 8a27a506e5d5c4f6c866790f098c2d8f +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/music_home_guitar_03_16.wav b/Assets/Resources/Audios/music_home_guitar_03_16.wav new file mode 100644 index 0000000..66bb6e1 --- /dev/null +++ b/Assets/Resources/Audios/music_home_guitar_03_16.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9cc72a8d780cfc4e6be06a4222dd1de3f11fceaaecac9a29c855ce20917482ed +size 5936888 diff --git a/Assets/Resources/Audios/music_home_guitar_03_16.wav.meta b/Assets/Resources/Audios/music_home_guitar_03_16.wav.meta new file mode 100644 index 0000000..9a54b44 --- /dev/null +++ b/Assets/Resources/Audios/music_home_guitar_03_16.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 5c77a49f1a13b4634ae1e6c69d9a7d0c +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/music_home_guitar_04_16.wav b/Assets/Resources/Audios/music_home_guitar_04_16.wav new file mode 100644 index 0000000..1b16366 --- /dev/null +++ b/Assets/Resources/Audios/music_home_guitar_04_16.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38d6c247ed4229f0ac4c669719a8f45ddbaec5e875e92c6ac53d019c23d9e00b +size 5936888 diff --git a/Assets/Resources/Audios/music_home_guitar_04_16.wav.meta b/Assets/Resources/Audios/music_home_guitar_04_16.wav.meta new file mode 100644 index 0000000..effb45b --- /dev/null +++ b/Assets/Resources/Audios/music_home_guitar_04_16.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 366a1276b7d6d400ebe3cbc64408a697 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/music_home_guitar_05_16.wav b/Assets/Resources/Audios/music_home_guitar_05_16.wav new file mode 100644 index 0000000..46edc47 --- /dev/null +++ b/Assets/Resources/Audios/music_home_guitar_05_16.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f81ebb93060abbbf2eda73f4cc44830b495c50f81fcb03911dbc8718110fce5 +size 5607102 diff --git a/Assets/Resources/Audios/music_home_guitar_05_16.wav.meta b/Assets/Resources/Audios/music_home_guitar_05_16.wav.meta new file mode 100644 index 0000000..bf5fe79 --- /dev/null +++ b/Assets/Resources/Audios/music_home_guitar_05_16.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: ea99e02d959ac4599b38dd90eab0b9e5 +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/music_home_other.wav b/Assets/Resources/Audios/music_home_other.wav new file mode 100644 index 0000000..7cb9825 --- /dev/null +++ b/Assets/Resources/Audios/music_home_other.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9bad374f269f62fbb656bc22601e3d398ea4746e851693e6a1d609d9955164e +size 5277314 diff --git a/Assets/Resources/Audios/music_home_other.wav.meta b/Assets/Resources/Audios/music_home_other.wav.meta new file mode 100644 index 0000000..42f773a --- /dev/null +++ b/Assets/Resources/Audios/music_home_other.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 6bb3e45fc3d534bf9ad4842eb3b2cfdd +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/music_home_transition_downward.wav b/Assets/Resources/Audios/music_home_transition_downward.wav new file mode 100644 index 0000000..a6ad6a8 --- /dev/null +++ b/Assets/Resources/Audios/music_home_transition_downward.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:51bdb1f69f06c586a3d81988a9ddeb1b9a039a7fa76b8fc27d7b1e3508ae7977 +size 990102 diff --git a/Assets/Resources/Audios/music_home_transition_downward.wav.meta b/Assets/Resources/Audios/music_home_transition_downward.wav.meta new file mode 100644 index 0000000..8a5645f --- /dev/null +++ b/Assets/Resources/Audios/music_home_transition_downward.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 4cdffca45e24747e3a5bcf809c0e7bfd +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/music_home_transition_upward.wav b/Assets/Resources/Audios/music_home_transition_upward.wav new file mode 100644 index 0000000..b6c92c8 --- /dev/null +++ b/Assets/Resources/Audios/music_home_transition_upward.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ad87112a47ffcf32b47a29f29af8f4fe72f6533d40f8323b6d7aa908761438c +size 660318 diff --git a/Assets/Resources/Audios/music_home_transition_upward.wav.meta b/Assets/Resources/Audios/music_home_transition_upward.wav.meta new file mode 100644 index 0000000..c70fa3e --- /dev/null +++ b/Assets/Resources/Audios/music_home_transition_upward.wav.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 3f2170a5237d843158b04bc320e61cbd +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Audios/rain.mp3 b/Assets/Resources/Audios/rain.mp3 new file mode 100644 index 0000000..695c31e Binary files /dev/null and b/Assets/Resources/Audios/rain.mp3 differ diff --git a/Assets/Resources/Audios/rain.mp3.meta b/Assets/Resources/Audios/rain.mp3.meta new file mode 100644 index 0000000..4fadc57 --- /dev/null +++ b/Assets/Resources/Audios/rain.mp3.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 051f68326d4274a7b85ecd692ce0900f +AudioImporter: + externalObjects: {} + serializedVersion: 7 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes.meta b/Assets/Scenes.meta new file mode 100644 index 0000000..ee46714 --- /dev/null +++ b/Assets/Scenes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 109e9bdd0fcc649c5bc59085c35bdc83 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity new file mode 100644 index 0000000..1cce48d --- /dev/null +++ b/Assets/Scenes/SampleScene.unity @@ -0,0 +1,1450 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 3 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 0 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 3 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + buildHeightMesh: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &17265518 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 17265519} + - component: {fileID: 17265521} + - component: {fileID: 17265520} + m_Layer: 5 + m_Name: Text (Legacy) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &17265519 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 17265518} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 392790004} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &17265520 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 17265518} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: SetState(Game) +--- !u!222 &17265521 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 17265518} + m_CullTransparentMesh: 1 +--- !u!1 &392790003 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 392790004} + - component: {fileID: 392790008} + - component: {fileID: 392790007} + - component: {fileID: 392790006} + - component: {fileID: 392790005} + m_Layer: 5 + m_Name: SetState + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &392790004 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 392790003} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 17265519} + m_Father: {fileID: 1667985901} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &392790005 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 392790003} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2ce47fe7df364a8fa37501256e5b5155, type: 3} + m_Name: + m_EditorClassIdentifier: + targetGameState: 1 +--- !u!114 &392790006 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 392790003} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 392790007} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &392790007 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 392790003} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &392790008 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 392790003} + m_CullTransparentMesh: 1 +--- !u!1 &519420028 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 519420032} + - component: {fileID: 519420031} + - component: {fileID: 519420029} + - component: {fileID: 519420030} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &519420029 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 519420028} + m_Enabled: 1 +--- !u!114 &519420030 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 519420028} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_RenderShadows: 1 + m_RequiresDepthTextureOption: 2 + m_RequiresOpaqueTextureOption: 2 + m_CameraType: 0 + m_Cameras: [] + m_RendererIndex: -1 + m_VolumeLayerMask: + serializedVersion: 2 + m_Bits: 1 + m_VolumeTrigger: {fileID: 0} + m_VolumeFrameworkUpdateModeOption: 2 + m_RenderPostProcessing: 0 + m_Antialiasing: 0 + m_AntialiasingQuality: 2 + m_StopNaN: 0 + m_Dithering: 0 + m_ClearDepth: 1 + m_AllowXRRendering: 1 + m_AllowHDROutput: 1 + m_UseScreenCoordOverride: 0 + m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0} + m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0} + m_RequiresDepthTexture: 0 + m_RequiresColorTexture: 0 + m_Version: 2 + m_TaaSettings: + m_Quality: 3 + m_FrameInfluence: 0.1 + m_JitterScale: 1 + m_MipBias: 0 + m_VarianceClampScale: 0.9 + m_ContrastAdaptiveSharpening: 0 +--- !u!20 &519420031 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 519420028} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 34 + orthographic: 1 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 0 + m_HDR: 1 + m_AllowMSAA: 0 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 0 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &519420032 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 519420028} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &519563560 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 519563561} + - component: {fileID: 519563563} + - component: {fileID: 519563562} + m_Layer: 5 + m_Name: Text (Legacy) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &519563561 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 519563560} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1542973983} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &519563562 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 519563560} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: SetState(Guitar) +--- !u!222 &519563563 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 519563560} + m_CullTransparentMesh: 1 +--- !u!1 &619394800 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 619394802} + - component: {fileID: 619394801} + m_Layer: 0 + m_Name: Global Light 2D + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &619394801 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 619394800} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 073797afb82c5a1438f328866b10b3f0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ComponentVersion: 1 + m_LightType: 4 + m_BlendStyleIndex: 0 + m_FalloffIntensity: 0.5 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 1 + m_LightVolumeIntensity: 1 + m_LightVolumeIntensityEnabled: 0 + m_ApplyToSortingLayers: 00000000 + m_LightCookieSprite: {fileID: 0} + m_DeprecatedPointLightCookieSprite: {fileID: 0} + m_LightOrder: 0 + m_AlphaBlendOnOverlap: 0 + m_OverlapOperation: 0 + m_NormalMapDistance: 3 + m_NormalMapQuality: 2 + m_UseNormalMap: 0 + m_ShadowIntensityEnabled: 0 + m_ShadowIntensity: 0.75 + m_ShadowVolumeIntensityEnabled: 0 + m_ShadowVolumeIntensity: 0.75 + m_LocalBounds: + m_Center: {x: 0, y: -0.00000011920929, z: 0} + m_Extent: {x: 0.9985302, y: 0.99853027, z: 0} + m_PointLightInnerAngle: 360 + m_PointLightOuterAngle: 360 + m_PointLightInnerRadius: 0 + m_PointLightOuterRadius: 1 + m_ShapeLightParametricSides: 5 + m_ShapeLightParametricAngleOffset: 0 + m_ShapeLightParametricRadius: 1 + m_ShapeLightFalloffSize: 0.5 + m_ShapeLightFalloffOffset: {x: 0, y: 0} + m_ShapePath: + - {x: -0.5, y: -0.5, z: 0} + - {x: 0.5, y: -0.5, z: 0} + - {x: 0.5, y: 0.5, z: 0} + - {x: -0.5, y: 0.5, z: 0} +--- !u!4 &619394802 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 619394800} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1667985901} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1161878325 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1161878326} + - component: {fileID: 1161878329} + - component: {fileID: 1161878328} + - component: {fileID: 1161878327} + - component: {fileID: 1161878330} + m_Layer: 5 + m_Name: SetState + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1161878326 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1161878325} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1798358787} + m_Father: {fileID: 1667985901} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1161878327 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1161878325} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1161878328} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1161878328 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1161878325} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1161878329 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1161878325} + m_CullTransparentMesh: 1 +--- !u!114 &1161878330 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1161878325} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2ce47fe7df364a8fa37501256e5b5155, type: 3} + m_Name: + m_EditorClassIdentifier: + targetGameState: 0 +--- !u!1 &1394234347 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1394234348} + - component: {fileID: 1394234351} + - component: {fileID: 1394234350} + - component: {fileID: 1394234349} + m_Layer: 5 + m_Name: Button (Legacy) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1394234348 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1394234347} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1762080065} + m_Father: {fileID: 1667985901} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1394234349 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1394234347} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1394234350} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 2093584670} + m_TargetAssemblyTypeName: WKMobile.Audio.AudioSystem, Assembly-CSharp + m_MethodName: Play + m_Mode: 3 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 48 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!114 &1394234350 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1394234347} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1394234351 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1394234347} + m_CullTransparentMesh: 1 +--- !u!1 &1542973982 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1542973983} + - component: {fileID: 1542973987} + - component: {fileID: 1542973986} + - component: {fileID: 1542973985} + - component: {fileID: 1542973984} + m_Layer: 5 + m_Name: SetState + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1542973983 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1542973982} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 519563561} + m_Father: {fileID: 1667985901} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1542973984 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1542973982} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2ce47fe7df364a8fa37501256e5b5155, type: 3} + m_Name: + m_EditorClassIdentifier: + targetGameState: 4 +--- !u!114 &1542973985 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1542973982} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1542973986} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1542973986 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1542973982} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1542973987 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1542973982} + m_CullTransparentMesh: 1 +--- !u!1 &1667985900 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1667985901} + - component: {fileID: 1667985904} + - component: {fileID: 1667985903} + - component: {fileID: 1667985902} + - component: {fileID: 1667985905} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1667985901 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1667985900} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1394234348} + - {fileID: 1161878326} + - {fileID: 392790004} + - {fileID: 1542973983} + m_Father: {fileID: 619394802} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!114 &1667985902 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1667985900} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1667985903 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1667985900} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &1667985904 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1667985900} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 1 + m_AdditionalShaderChannelsFlag: 0 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!114 &1667985905 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1667985900} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 15 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!1 &1762080064 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1762080065} + - component: {fileID: 1762080067} + - component: {fileID: 1762080066} + m_Layer: 5 + m_Name: Text (Legacy) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1762080065 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1762080064} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1394234348} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1762080066 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1762080064} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: PlaySond +--- !u!222 &1762080067 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1762080064} + m_CullTransparentMesh: 1 +--- !u!1 &1777712065 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1777712068} + - component: {fileID: 1777712067} + - component: {fileID: 1777712066} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1777712066 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1777712065} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SendPointerHoverToParent: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1777712067 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1777712065} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &1777712068 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1777712065} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1798358786 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1798358787} + - component: {fileID: 1798358789} + - component: {fileID: 1798358788} + m_Layer: 5 + m_Name: Text (Legacy) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1798358787 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1798358786} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1161878326} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1798358788 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1798358786} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: SetState(Home) +--- !u!222 &1798358789 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1798358786} + m_CullTransparentMesh: 1 +--- !u!1 &2093584669 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2093584671} + - component: {fileID: 2093584670} + m_Layer: 0 + m_Name: AudioSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &2093584670 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2093584669} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5ce1f814dd5d46d48bc33c18ba11c44c, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &2093584671 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2093584669} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 208.07245, y: 354.74136, z: -3.1687012} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1660057539 &9223372036854775807 +SceneRoots: + m_ObjectHideFlags: 0 + m_Roots: + - {fileID: 519420032} + - {fileID: 619394802} + - {fileID: 1777712068} + - {fileID: 2093584671} diff --git a/Assets/Scenes/SampleScene.unity.meta b/Assets/Scenes/SampleScene.unity.meta new file mode 100644 index 0000000..963ff8e --- /dev/null +++ b/Assets/Scenes/SampleScene.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 8c9cfa26abfee488c85f1582747f6a02 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts.meta b/Assets/Scripts.meta new file mode 100644 index 0000000..ff794f3 --- /dev/null +++ b/Assets/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 645aa957a3a6b42238928bc241ec3c70 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/OCES.meta b/Assets/Scripts/OCES.meta new file mode 100644 index 0000000..0638837 --- /dev/null +++ b/Assets/Scripts/OCES.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 269643b3c8f794be880797e7fc578e79 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/OCES/Audio.meta b/Assets/Scripts/OCES/Audio.meta new file mode 100644 index 0000000..2133ab1 --- /dev/null +++ b/Assets/Scripts/OCES/Audio.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4117dfeac7c454d759d1fc27b1291921 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/OCES/Audio/Generated.meta b/Assets/Scripts/OCES/Audio/Generated.meta new file mode 100644 index 0000000..537802a --- /dev/null +++ b/Assets/Scripts/OCES/Audio/Generated.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3f5a89839ae0140839eea0e3eb7563ca +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/OCES/Audio/Generated/AmbiencePath.cs b/Assets/Scripts/OCES/Audio/Generated/AmbiencePath.cs new file mode 100644 index 0000000..c847881 --- /dev/null +++ b/Assets/Scripts/OCES/Audio/Generated/AmbiencePath.cs @@ -0,0 +1,90 @@ +/* + * auto generated by tools(注意:千万不要手动修改本文件) + * AmbiencePath + */ +using System; +using System.IO; +using System.Collections.Generic; +using System.Text; + +namespace OCES.Audio +{ +[Serializable] +public partial class AmbiencePath : IBinarySerializable +{ + /// + /// 从1开始的int + /// + public uint Id { get; set; } + + /// + /// 在此定义path。格式为: TypeID1,子状态|TypeID2,子状态…… 无需判断的TypeID无需填写。 + /// + public string Path { get; set; } + + /// + /// 此处填写该Path要播放的ContainerID + /// + public uint ContainerId { get; set; } + + /// + /// 该条规则的优先级 + /// + public int Priority { get; set; } + + + public void DeSerialize(BinaryReader reader) + { + Id = reader.ReadUInt32(); + Path = reader.ReadString(); + ContainerId = reader.ReadUInt32(); + Priority = reader.ReadInt32(); + } + + public void Serialize(BinaryWriter writer) + { + writer.Write(Id); + writer.Write(Path); + writer.Write(ContainerId); + writer.Write(Priority); + } +} + +[Serializable] +public partial class AmbiencePathConfig : IBinarySerializable +{ + Dictionary m_ambiencePathInfos = new(); + List m_ambiencePathInfoList; + + public List AmbiencePathList() + { + this.m_ambiencePathInfoList ??= new List(m_ambiencePathInfos.Values); + return this.m_ambiencePathInfoList; + } + + public void DeSerialize(BinaryReader reader) + { + int count = reader.ReadInt32(); + for (int i = 0; i < count; i++) + { + AmbiencePath tempData = new(); + tempData.DeSerialize(reader); + this.m_ambiencePathInfos.Add(tempData.Id, tempData); + } + } + + public void Serialize(BinaryWriter writer) + { + writer.Write(this.m_ambiencePathInfos.Count); + foreach (AmbiencePath ambiencePath in this.m_ambiencePathInfos.Values) + { + ambiencePath.Serialize(writer); + } + } + + public AmbiencePath QueryById(uint id) + { + return this.m_ambiencePathInfos.GetValueOrDefault(id); + } +} +} diff --git a/Assets/Scripts/OCES/Audio/Generated/AmbiencePath.cs.meta b/Assets/Scripts/OCES/Audio/Generated/AmbiencePath.cs.meta new file mode 100644 index 0000000..901476d --- /dev/null +++ b/Assets/Scripts/OCES/Audio/Generated/AmbiencePath.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1a691dddb740446e2b3cdf251196e64f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/OCES/Audio/Generated/AmbienceTransition.cs b/Assets/Scripts/OCES/Audio/Generated/AmbienceTransition.cs new file mode 100644 index 0000000..044042e --- /dev/null +++ b/Assets/Scripts/OCES/Audio/Generated/AmbienceTransition.cs @@ -0,0 +1,97 @@ +/* + * auto generated by tools(注意:千万不要手动修改本文件) + * AmbienceTransition + */ +using System; +using System.IO; +using System.Collections.Generic; +using System.Text; + +namespace OCES.Audio +{ +[Serializable] +public partial class AmbienceTransition : IBinarySerializable +{ + /// + /// FromPathId x 1000 + ToPathId + /// + public uint Id { get; set; } + + /// + /// 淡出总时长(s) + /// + public float FadeOutTime { get; set; } + + /// + /// source的段尾偏移量(s) + /// + public float FadeOutOffset { get; set; } + + /// + /// 淡入总时长(s) + /// + public float FadeInTime { get; set; } + + /// + /// Destination段首偏移量(s) + /// + public float FadeInOffset { get; set; } + + + public void DeSerialize(BinaryReader reader) + { + Id = reader.ReadUInt32(); + FadeOutTime = reader.ReadSingle(); + FadeOutOffset = reader.ReadSingle(); + FadeInTime = reader.ReadSingle(); + FadeInOffset = reader.ReadSingle(); + } + + public void Serialize(BinaryWriter writer) + { + writer.Write(Id); + writer.Write(FadeOutTime); + writer.Write(FadeOutOffset); + writer.Write(FadeInTime); + writer.Write(FadeInOffset); + } +} + +[Serializable] +public partial class AmbienceTransitionConfig : IBinarySerializable +{ + Dictionary m_ambienceTransitionInfos = new(); + List m_ambienceTransitionInfoList; + + public List AmbienceTransitionList() + { + this.m_ambienceTransitionInfoList ??= new List(m_ambienceTransitionInfos.Values); + return this.m_ambienceTransitionInfoList; + } + + public void DeSerialize(BinaryReader reader) + { + int count = reader.ReadInt32(); + for (int i = 0; i < count; i++) + { + AmbienceTransition tempData = new(); + tempData.DeSerialize(reader); + this.m_ambienceTransitionInfos.Add(tempData.Id, tempData); + } + } + + public void Serialize(BinaryWriter writer) + { + writer.Write(this.m_ambienceTransitionInfos.Count); + foreach (AmbienceTransition ambienceTransition in this.m_ambienceTransitionInfos.Values) + { + ambienceTransition.Serialize(writer); + } + } + + public AmbienceTransition QueryById(uint id) + { + return this.m_ambienceTransitionInfos.GetValueOrDefault(id); + } +} +} diff --git a/Assets/Scripts/OCES/Audio/Generated/AmbienceTransition.cs.meta b/Assets/Scripts/OCES/Audio/Generated/AmbienceTransition.cs.meta new file mode 100644 index 0000000..157f6b3 --- /dev/null +++ b/Assets/Scripts/OCES/Audio/Generated/AmbienceTransition.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6ad1fa2b6c6b04deeb200751afe832b8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/OCES/Audio/Generated/AudioDefinitions.cs b/Assets/Scripts/OCES/Audio/Generated/AudioDefinitions.cs new file mode 100644 index 0000000..be17af5 --- /dev/null +++ b/Assets/Scripts/OCES/Audio/Generated/AudioDefinitions.cs @@ -0,0 +1,65 @@ +using System.IO; + +namespace OCES.Audio +{ + /// + /// 替换策略类型 + /// + public enum KillMode : byte + { + Oldest, // 打断最早开始的 + Newest, // 打断最新开始的 + } + + /// + /// 混音分组 + /// + public enum MixingType : byte + { + Sfx = 0, + Music, + Voice, + } + + /// + /// 声音容器类型 + /// + public enum ContainerType : byte{ + Random = 0, + Sequence, + Blend, + } + + public enum BlendCrossFadeType : byte + { + Exponential = 0, + Linear, + Logarithmic, + } + + public enum AlignMode : byte + { + Immediate, + Beat, + Bar, + } + + /// + /// 游戏状态 + /// + public enum GameState + { + Home, + Game, + Win, + Lose, + Guitar, + Bass, + } + + public interface IBinarySerializable + { + void DeSerialize(BinaryReader reader); + void Serialize(BinaryWriter writer); + } +} diff --git a/Assets/Scripts/OCES/Audio/Generated/AudioDefinitions.cs.meta b/Assets/Scripts/OCES/Audio/Generated/AudioDefinitions.cs.meta new file mode 100644 index 0000000..0f1c964 --- /dev/null +++ b/Assets/Scripts/OCES/Audio/Generated/AudioDefinitions.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 0e257121504141e794758c8e3832b1d4 +timeCreated: 1773130192 \ No newline at end of file diff --git a/Assets/Scripts/OCES/Audio/Generated/AudioGroup.cs b/Assets/Scripts/OCES/Audio/Generated/AudioGroup.cs new file mode 100644 index 0000000..ae5cac9 --- /dev/null +++ b/Assets/Scripts/OCES/Audio/Generated/AudioGroup.cs @@ -0,0 +1,92 @@ +/* + * auto generated by tools(注意:千万不要手动修改本文件) + * AudioGroup + */ +using System; +using System.IO; +using System.Collections.Generic; +using System.Text; + +namespace OCES.Audio +{ +[Serializable] +public partial class AudioGroup : IBinarySerializable +{ + /// + /// 唯一ID + /// + public uint Id { get; set; } + + /// + /// 分组名 + /// + public string Comment { get; set; } + + /// + /// 组发音数限制 + /// + public ushort GroupThrottleCount { get; set; } + + /// + /// 打断模式 + /// 0 = 打断最早 + /// 1 = 打断最新 + /// + public KillMode KillMode { get; set; } + + + public void DeSerialize(BinaryReader reader) + { + Id = reader.ReadUInt32(); + Comment = reader.ReadString(); + GroupThrottleCount = reader.ReadUInt16(); + KillMode = (KillMode)reader.ReadByte(); + } + + public void Serialize(BinaryWriter writer) + { + writer.Write(Id); + writer.Write(Comment); + writer.Write(GroupThrottleCount); + writer.Write((byte)KillMode); + } +} + +[Serializable] +public partial class AudioGroupConfig : IBinarySerializable +{ + Dictionary m_audioGroupInfos = new(); + List m_audioGroupInfoList; + + public List AudioGroupList() + { + this.m_audioGroupInfoList ??= new List(m_audioGroupInfos.Values); + return this.m_audioGroupInfoList; + } + + public void DeSerialize(BinaryReader reader) + { + int count = reader.ReadInt32(); + for (int i = 0; i < count; i++) + { + AudioGroup tempData = new(); + tempData.DeSerialize(reader); + this.m_audioGroupInfos.Add(tempData.Id, tempData); + } + } + + public void Serialize(BinaryWriter writer) + { + writer.Write(this.m_audioGroupInfos.Count); + foreach (AudioGroup audioGroup in this.m_audioGroupInfos.Values) + { + audioGroup.Serialize(writer); + } + } + + public AudioGroup QueryById(uint id) + { + return this.m_audioGroupInfos.GetValueOrDefault(id); + } +} +} diff --git a/Assets/Scripts/OCES/Audio/Generated/AudioGroup.cs.meta b/Assets/Scripts/OCES/Audio/Generated/AudioGroup.cs.meta new file mode 100644 index 0000000..5556556 --- /dev/null +++ b/Assets/Scripts/OCES/Audio/Generated/AudioGroup.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 02bb5bce772fe40b297d105a1c6908eb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/OCES/Audio/Generated/AudioObject.cs b/Assets/Scripts/OCES/Audio/Generated/AudioObject.cs new file mode 100644 index 0000000..9beb8e0 --- /dev/null +++ b/Assets/Scripts/OCES/Audio/Generated/AudioObject.cs @@ -0,0 +1,245 @@ +/* + * auto generated by tools(注意:千万不要手动修改本文件) + * AudioObject + */ +using System; +using System.IO; +using System.Collections.Generic; +using System.Text; + +namespace OCES.Audio +{ +[Serializable] +public partial class AudioObject : IBinarySerializable +{ + /// + /// 唯一ID + /// + public uint Id { get; set; } + + /// + /// 文件名 + /// + public List Name { get; set; } + + /// + /// 备注 + /// + public string Comment { get; set; } + + /// + /// 初始延迟 + /// 单位秒 + /// + public float InitialDelay { get; set; } + + /// + /// -1 = 无限循环 + /// 0 = 不循环 + /// >= 1 按次数循环 + /// + public short LoopCount { get; set; } + + /// + /// 0 = SFX + /// 1 = Muisc + /// 2 = Voice + /// + public MixingType MixingType { get; set; } + + /// + /// 发音分组 + /// + public uint Group { get; set; } + + /// + /// 同时发音数限制 + /// + public ushort ThrottleCount { get; set; } + + /// + /// 最小发音间隔 + /// + public ushort MinInterval { get; set; } + + /// + /// 优先级 + /// + public byte Priority { get; set; } + + /// + /// 打断模式 + /// 0 = 打断最早 + /// 1 = 打断最新 + /// + public KillMode KillMode { get; set; } + + /// + /// Pitch Step阈值 ms + /// + public uint PitchStepThreshold { get; set; } + + /// + /// 阶段变化半音数 + /// + public sbyte PitchStep { get; set; } + + /// + /// step几步后就不再继续提升音高 + /// + public byte PitchStepLimit { get; set; } + + /// + /// 相关的触感反馈ID + /// + public uint Haptic { get; set; } + + /// + /// 0 = 随机播放 + /// 1 = 顺序播放 + /// 2 = 混合播放 + /// + public ContainerType ContainerType { get; set; } + + /// + /// 0 = 步进 + /// 1 = 持续 + /// + public bool ContainerPlayMode { get; set; } + + /// + /// 按段落配置每段响应范围,用|分隔不同段落 + /// + public string BlendRanges { get; set; } + + /// + /// 0 = 指数 + /// 1 = 线形 + /// 2 = 对数 + /// + public BlendCrossFadeType BlendCrossFadeType { get; set; } + + /// + /// 指定避免重复的次数 + /// + public byte LimitRepetition { get; set; } + + /// + /// 0 = Standard + /// 1 = Shuffle + /// + public bool RandomType { get; set; } + + + public void DeSerialize(BinaryReader reader) + { + Id = reader.ReadUInt32(); + var nameCount = reader.ReadInt32(); + if (nameCount > 0) + { + Name = new List(); + for (int i = 0; i < nameCount; i++) + { + Name.Add(reader.ReadString()); + } + } + else + { + Name = null; + } + Comment = reader.ReadString(); + InitialDelay = reader.ReadSingle(); + LoopCount = reader.ReadInt16(); + MixingType = (MixingType)reader.ReadByte(); + Group = reader.ReadUInt32(); + ThrottleCount = reader.ReadUInt16(); + MinInterval = reader.ReadUInt16(); + Priority = reader.ReadByte(); + KillMode = (KillMode)reader.ReadByte(); + PitchStepThreshold = reader.ReadUInt32(); + PitchStep = reader.ReadSByte(); + PitchStepLimit = reader.ReadByte(); + Haptic = reader.ReadUInt32(); + ContainerType = (ContainerType)reader.ReadByte(); + ContainerPlayMode = reader.ReadBoolean(); + BlendRanges = reader.ReadString(); + BlendCrossFadeType = (BlendCrossFadeType)reader.ReadByte(); + LimitRepetition = reader.ReadByte(); + RandomType = reader.ReadBoolean(); + } + + public void Serialize(BinaryWriter writer) + { + writer.Write(Id); + if (Name == null || Name.Count == 0) + { + writer.Write(0); + } + else + { + writer.Write(Name.Count); + for (int i = 0; i < Name.Count; i++) + { + writer.Write(Name[i]); + } + } + writer.Write(Comment); + writer.Write(InitialDelay); + writer.Write(LoopCount); + writer.Write((byte)MixingType); + writer.Write(Group); + writer.Write(ThrottleCount); + writer.Write(MinInterval); + writer.Write(Priority); + writer.Write((byte)KillMode); + writer.Write(PitchStepThreshold); + writer.Write(PitchStep); + writer.Write(PitchStepLimit); + writer.Write(Haptic); + writer.Write((byte)ContainerType); + writer.Write(ContainerPlayMode); + writer.Write(BlendRanges); + writer.Write((byte)BlendCrossFadeType); + writer.Write(LimitRepetition); + writer.Write(RandomType); + } +} + +[Serializable] +public partial class AudioObjectConfig : IBinarySerializable +{ + Dictionary m_audioObjectInfos = new(); + List m_audioObjectInfoList; + + public List AudioObjectList() + { + this.m_audioObjectInfoList ??= new List(m_audioObjectInfos.Values); + return this.m_audioObjectInfoList; + } + + public void DeSerialize(BinaryReader reader) + { + int count = reader.ReadInt32(); + for (int i = 0; i < count; i++) + { + AudioObject tempData = new(); + tempData.DeSerialize(reader); + this.m_audioObjectInfos.Add(tempData.Id, tempData); + } + } + + public void Serialize(BinaryWriter writer) + { + writer.Write(this.m_audioObjectInfos.Count); + foreach (AudioObject audioObject in this.m_audioObjectInfos.Values) + { + audioObject.Serialize(writer); + } + } + + public AudioObject QueryById(uint id) + { + return this.m_audioObjectInfos.GetValueOrDefault(id); + } +} +} diff --git a/Assets/Scripts/OCES/Audio/Generated/AudioObject.cs.meta b/Assets/Scripts/OCES/Audio/Generated/AudioObject.cs.meta new file mode 100644 index 0000000..09561e8 --- /dev/null +++ b/Assets/Scripts/OCES/Audio/Generated/AudioObject.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 46155e8c4d2274e68afd6cace56c6a1c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/OCES/Audio/Generated/FileManager.cs b/Assets/Scripts/OCES/Audio/Generated/FileManager.cs new file mode 100644 index 0000000..029ffe9 --- /dev/null +++ b/Assets/Scripts/OCES/Audio/Generated/FileManager.cs @@ -0,0 +1,572 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Text; +using UnityEngine; + +namespace OCES.Audio +{ + /// + /// 文件操作类 + /// + public static class FileManager + { + public static bool CreateDir(string dirPath) + { + if (string.IsNullOrEmpty(dirPath)) + return false; + if (Directory.Exists(dirPath)) + { + Directory.Delete(dirPath, true); + } + Directory.CreateDirectory(dirPath); + return true; + } + + /// + /// 将数据写入二进制文件 + /// + /// + /// 继承自IBinarySerialize的数据 + public static bool WriteBinaryDataToFile(string filePath, IBinarySerializable data) + { + if (string.IsNullOrEmpty(filePath)) + return false; + if (File.Exists(filePath)) + { + File.Delete(filePath); + } + using (var fileStream = new FileStream(filePath, FileMode.Create)) + { + using (var bw = new BinaryWriter(fileStream)) + { + data.Serialize(bw); + bw.Flush(); + bw.Close(); + } + fileStream.Close(); + } + return true; + } + + /// + /// 将数据写入二进制文件 + /// + /// + /// 类型(小写)和value的字符串键值对 + /// + public static bool WriteBinaryDatasToFile(string filePath, List> datas) + { + try + { + if (string.IsNullOrEmpty(filePath)) + return false; + if (File.Exists(filePath)) + { + File.Delete(filePath); + } + using (var fileStream = new FileStream(filePath, FileMode.Create)) + { + using (var bw = new BinaryWriter(fileStream)) + { + foreach (var data in datas) + { + if (data.Item1.Equals("int")) + { + if (string.IsNullOrEmpty(data.Item2)) + { + bw.Write(Convert.ToInt32(0)); + } + else + { + bw.Write(Convert.ToInt32(data.Item2)); + } + } + else if (data.Item1.Equals("uint")) + { + if (string.IsNullOrEmpty(data.Item2)) + { + bw.Write(Convert.ToUInt32(0)); + } + else + { + bw.Write(Convert.ToUInt32(data.Item2)); + } + }else if (data.Item1.Equals("short")) + { + bw.Write(string.IsNullOrEmpty(data.Item2) ? Convert.ToInt16(0) : Convert.ToInt16(data.Item2)); + } + else if (data.Item1.Equals("ushort")) + { + bw.Write(string.IsNullOrEmpty(data.Item2) ? Convert.ToUInt16(0) : Convert.ToUInt16(data.Item2)); + } + else if (data.Item1.Equals("sbyte")) + { + if (string.IsNullOrEmpty(data.Item2)) + { + bw.Write(Convert.ToSByte(0)); + } + else + { + bw.Write(Convert.ToSByte(data.Item2)); + } + } + else if (data.Item1.Equals("byte")) + { + if (string.IsNullOrEmpty(data.Item2)) + { + bw.Write(Convert.ToByte(0)); + } + else + { + bw.Write(Convert.ToByte(data.Item2)); + } + } + else if (data.Item1.Equals("bool")) + { + if (string.IsNullOrEmpty(data.Item2)) + { + bw.Write(Convert.ToBoolean(false)); + } + else + { + bw.Write(Convert.ToBoolean(data.Item2)); + } + } + else if (data.Item1.Equals("float")) + { + if (string.IsNullOrEmpty(data.Item2)) + { + bw.Write(Convert.ToSingle(0)); + } + else + { + bw.Write(Convert.ToSingle(data.Item2)); + } + } + else if (data.Item1.Equals("double")) + { + if (string.IsNullOrEmpty(data.Item2)) + { + bw.Write(Convert.ToDouble(0)); + } + else + { + bw.Write(Convert.ToDouble(data.Item2)); + } + } + else if (data.Item1.Equals("string")) + { + bw.Write(string.IsNullOrEmpty(data.Item2) ? "" : data.Item2.ToString()); + } + else if (data.Item1.Equals("long")) + { + if (string.IsNullOrEmpty(data.Item2)) + { + bw.Write(Convert.ToInt64(0)); + } + else + { + bw.Write(Convert.ToInt64(data.Item2)); + } + } + else if (data.Item1.Equals("vector")) + { + //[1.2,3.4,5.6] + var str = data.Item2.ToString(); + if (string.IsNullOrEmpty(str)) + { + bw.Write(Convert.ToInt32(0)); + } + else + { + str = str.Replace("]", "").Replace("[", ""); + var numStrs = str.Split(','); + int vectorCount = 3; + bw.Write(vectorCount); + for (int i = 0; i < vectorCount; i++) + { + float v = Convert.ToSingle(numStrs[i]); + bw.Write(v); + } + } + } + else if (data.Item1.Equals("vectorlist")) //List类型 + { + //[[1.2,3.4,5.6],[2.2,3.4,5.6],[3.2,3.4,5.6]] + string str = data.Item2.ToString(); + if (string.IsNullOrEmpty(str)) + { + bw.Write(Convert.ToInt32(0)); + } + else + { + str = str.Replace("]", "").Replace("[", ""); + var numStrs = str.Split(','); + bw.Write(Convert.ToInt32(numStrs.Length / 3)); + for (int i = 0; i < numStrs.Length; i++) + { + if (i % 3 == 0) + bw.Write(Convert.ToInt32(3)); + bw.Write(Convert.ToSingle(numStrs[i])); + } + } + } + else if (data.Item1.Equals("intlist")) + { + string str = data.Item2.ToString(); + if (string.IsNullOrEmpty(str)) + { + bw.Write(Convert.ToInt32(0)); + } + else + { + var numStrs = str.Split(','); + bw.Write(numStrs.Length); + for (int i = 0; i < numStrs.Length; i++) + { + bw.Write(Convert.ToInt32(numStrs[i])); + } + } + } + else if (data.Item1.Equals("floatlist")) + { + string str = data.Item2.ToString(); + if (string.IsNullOrEmpty(str)) + { + bw.Write(Convert.ToInt32(0)); + } + else + { + var numStrs = str.Split(','); + bw.Write(numStrs.Length); + for (int i = 0; i < numStrs.Length; i++) + { + bw.Write(Convert.ToSingle(numStrs[i])); + } + } + } + else if (data.Item1.Equals("boollist")) + { + string str = data.Item2.ToString(); + if (string.IsNullOrEmpty(str)) + { + bw.Write(Convert.ToInt32(0)); + } + else + { + var numStrs = str.Split(','); + bw.Write(numStrs.Length); + for (int i = 0; i < numStrs.Length; i++) + { + bw.Write(Convert.ToBoolean(numStrs[i])); + } + } + } + else if (data.Item1.Equals("stringlist")) + { + string str = data.Item2.ToString(); + if (string.IsNullOrEmpty(str)) + { + bw.Write(Convert.ToInt32(0)); + } + else + { + var numStrs = str.Split(','); + bw.Write(numStrs.Length); + for (int i = 0; i < numStrs.Length; i++) + { + bw.Write(numStrs[i]); + } + } + } + else if (data.Item1.Equals("longlist")) + { + string str = data.Item2.ToString(); + if (string.IsNullOrEmpty(str)) + { + bw.Write(Convert.ToInt32(0)); + } + else + { + var numStrs = str.Split(','); + bw.Write(numStrs.Length); + for (int i = 0; i < numStrs.Length; i++) + { + bw.Write(Convert.ToInt64(numStrs[i])); + } + } + } + else if (data.Item1.Contains("list<")) //泛型数组类型 + { + string str = data.Item2.ToString(); + if (string.IsNullOrEmpty(str)) + { + bw.Write(Convert.ToInt32(0)); + } + else + { + var numStrs = str.Split(','); + bw.Write(numStrs.Length); + var tempS = data.Item1.Substring(5); + var listType = tempS.Substring(0, tempS.Length - 1); + if (listType.Equals("int")) + { + for (int i = 0; i < numStrs.Length; i++) + { + bw.Write(Convert.ToInt32(numStrs[i])); + } + } + else if (listType.Equals("uint")) + { + for (int i = 0; i < numStrs.Length; i++) + { + bw.Write(Convert.ToUInt32(numStrs[i])); + } + } + else if (listType.Equals("short")) + { + foreach (string t in numStrs) + { + bw.Write(Convert.ToInt16(t)); + } + } + else if (listType.Equals("ushort")) + { + foreach (string t in numStrs) + { + bw.Write(Convert.ToUInt16(t)); + } + } + else if (listType.Equals("sbyte")) + { + for (int i = 0; i < numStrs.Length; i++) + { + bw.Write(Convert.ToSByte(numStrs[i])); + } + } + else if (listType.Equals("byte")) + { + for (int i = 0; i < numStrs.Length; i++) + { + bw.Write(Convert.ToByte(numStrs[i])); + } + } + else if (listType.Equals("bool")) + { + for (int i = 0; i < numStrs.Length; i++) + { + bw.Write(Convert.ToBoolean(numStrs[i])); + } + } + else if (listType.Equals("float")) + { + for (int i = 0; i < numStrs.Length; i++) + { + bw.Write(Convert.ToSingle(numStrs[i])); + } + } + else if (listType.Equals("long")) + { + for (int i = 0; i < numStrs.Length; i++) + { + bw.Write(Convert.ToInt64(numStrs[i])); + } + } + else if (listType.Equals("string")) + { + for (int i = 0; i < numStrs.Length; i++) + { + bw.Write(Convert.ToString(numStrs[i])); + } + } + else + { + Debug.LogError("数组类型List,T不是支持的Int,Float,String这三种类型,需要扩展类型"); + } + } + } + else + { + Debug.LogError($"写入二进制文件,数据类型{data.Item1}没有适配"); + return false; + } + } + bw.Flush(); + bw.Close(); + } + fileStream.Close(); + } + return true; + } + catch (Exception ex) + { + Debug.LogError(ex.ToString()); + return false; + } + } + + /// + /// 从内存流中读取二进制 + /// + /// + /// + /// + public static bool ReadBinaryDataFromBytes(byte[] bytes, ref IBinarySerializable data) + { + if (bytes == null) + return false; + using (var memoryStream = new MemoryStream(bytes)) + { + using (var br = new BinaryReader(memoryStream)) + { + data.DeSerialize(br); + br.Close(); + } + memoryStream.Close(); + } + return true; + } + + /// + /// 读取二进制文件 + /// + /// + /// + /// + public static bool ReadBinaryDataFromFile(string filePath, ref IBinarySerializable data) + { + if (string.IsNullOrEmpty(filePath)) + { + return false; + } + using (var fileStream = new FileStream(filePath, FileMode.Open)) + { + using (var br = new BinaryReader(fileStream)) + { + data.DeSerialize(br); + br.Close(); + } + fileStream.Close(); + } + return true; + } + + public static bool WriteBytesToFile(string filePath, byte[] data) + { + if (string.IsNullOrEmpty(filePath)) + return false; + if (File.Exists(filePath)) + { + File.Delete(filePath); + } + var file = new FileInfo(filePath); + using (Stream sw = file.Create()) + { + sw.Write(data, 0, data.Length); + sw.Flush(); + sw.Close(); + } + return true; + } + + /// + /// 将字符串写入文件 + /// + /// + /// + /// + public static bool WriteToFile(string filePath, string context) + { + return WriteToFile(filePath, context, Encoding.Default); + } + + public static bool WriteToFile(string filePath, string context, Encoding encoding) + { + if (string.IsNullOrEmpty(filePath)) + return false; + if (File.Exists(filePath)) + { + File.Delete(filePath); + } + using (FileStream fs = new FileStream(filePath, FileMode.Create)) + { + var data = encoding.GetBytes(context); + fs.Write(data, 0, data.Length); + fs.Flush(); + fs.Close(); + } + return true; + } + + /// + /// 按行读取 + /// + /// + /// + public static string ReadAllByLine(string path) + { + if (string.IsNullOrEmpty(path) || !File.Exists(path)) + { + return string.Empty; + } + StringBuilder sb = new StringBuilder(); + using (StreamReader sr = new StreamReader(path, Encoding.Default)) + { + string line; + while ((line = sr.ReadLine()) != null) + { + sb.AppendLine(line); + } + sr.Close(); + } + return sb.ToString(); + } + + public static byte[] ReadAllBytes(string path) + { + if (string.IsNullOrEmpty(path) || !File.Exists(path)) + { + return null; + } + return File.ReadAllBytes(path); + } + + /// + /// 修改文件内容 + /// + /// + /// + /// + public static void ReplaceContent(string path, string normalStr, string newStr) + { + if (string.IsNullOrEmpty(path) || !File.Exists(path)) + { + return; + } + string strContent = File.ReadAllText(path); + strContent = strContent.Replace(normalStr, newStr); + File.WriteAllText(path, strContent); + } + + /// + /// 批量修改文件内容 + /// + /// + /// + /// + public static void ReplaceContent(string path, string newStr, params string[] normalStrs) + { + if (string.IsNullOrEmpty(path) || !File.Exists(path)) + { + return; + } + string strContent = File.ReadAllText(path); + for (int i = 0; i < normalStrs.Length; i++) + { + strContent = strContent.Replace(normalStrs[i], newStr); + } + File.WriteAllText(path, strContent); + } + } +} diff --git a/Assets/Scripts/OCES/Audio/Generated/FileManager.cs.meta b/Assets/Scripts/OCES/Audio/Generated/FileManager.cs.meta new file mode 100644 index 0000000..f743774 --- /dev/null +++ b/Assets/Scripts/OCES/Audio/Generated/FileManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d01f74514b28e47a185705e32b9fa967 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/OCES/Audio/Generated/MusicContainer.cs b/Assets/Scripts/OCES/Audio/Generated/MusicContainer.cs new file mode 100644 index 0000000..e5e90f2 --- /dev/null +++ b/Assets/Scripts/OCES/Audio/Generated/MusicContainer.cs @@ -0,0 +1,148 @@ +/* + * auto generated by tools(注意:千万不要手动修改本文件) + * MusicContainer + */ +using System; +using System.IO; +using System.Collections.Generic; +using System.Text; + +namespace OCES.Audio +{ +[Serializable] +public partial class MusicContainer : IBinarySerializable +{ + /// + /// 一定不要出现循环 + /// + public uint Id { get; set; } + + /// + /// 1000000以下的是musicId 以上的是ContainerId + /// + public List Segments { get; set; } + + /// + /// 0 = 随机播放 + /// 1 = 顺序播放 + /// 2 = 同时播放 + /// + public ContainerType ContainerType { get; set; } + + /// + /// 0 = 步进 + /// 1 = 持续 + /// + public bool ContainerPlayMode { get; set; } + + /// + /// sequence: 间隔时间(s) + /// + public ushort StrategyParam { get; set; } + + /// + /// -1 = 无限循环 + /// 0 = 不循环 + /// >= 1 按次数循环 + /// + public short LoopCount { get; set; } + + /// + /// 速度 + /// 可以是小数 + /// + public float Bpm { get; set; } + + /// + /// 拍号 + /// 采用德国体系定义 + /// + public string TimeSig { get; set; } + + + public void DeSerialize(BinaryReader reader) + { + Id = reader.ReadUInt32(); + var segmentsCount = reader.ReadInt32(); + if (segmentsCount > 0) + { + Segments = new List(); + for (int i = 0; i < segmentsCount; i++) + { + Segments.Add(reader.ReadUInt32()); + } + } + else + { + Segments = null; + } + ContainerType = (ContainerType)reader.ReadByte(); + ContainerPlayMode = reader.ReadBoolean(); + StrategyParam = reader.ReadUInt16(); + LoopCount = reader.ReadInt16(); + Bpm = reader.ReadSingle(); + TimeSig = reader.ReadString(); + } + + public void Serialize(BinaryWriter writer) + { + writer.Write(Id); + if (Segments == null || Segments.Count == 0) + { + writer.Write(0); + } + else + { + writer.Write(Segments.Count); + for (int i = 0; i < Segments.Count; i++) + { + writer.Write(Segments[i]); + } + } + writer.Write((byte)ContainerType); + writer.Write(ContainerPlayMode); + writer.Write(StrategyParam); + writer.Write(LoopCount); + writer.Write(Bpm); + writer.Write(TimeSig); + } +} + +[Serializable] +public partial class MusicContainerConfig : IBinarySerializable +{ + Dictionary m_musicContainerInfos = new(); + List m_musicContainerInfoList; + + public List MusicContainerList() + { + this.m_musicContainerInfoList ??= new List(m_musicContainerInfos.Values); + return this.m_musicContainerInfoList; + } + + public void DeSerialize(BinaryReader reader) + { + int count = reader.ReadInt32(); + for (int i = 0; i < count; i++) + { + MusicContainer tempData = new(); + tempData.DeSerialize(reader); + this.m_musicContainerInfos.Add(tempData.Id, tempData); + } + } + + public void Serialize(BinaryWriter writer) + { + writer.Write(this.m_musicContainerInfos.Count); + foreach (MusicContainer musicContainer in this.m_musicContainerInfos.Values) + { + musicContainer.Serialize(writer); + } + } + + public MusicContainer QueryById(uint id) + { + return this.m_musicContainerInfos.GetValueOrDefault(id); + } +} +} diff --git a/Assets/Scripts/OCES/Audio/Generated/MusicContainer.cs.meta b/Assets/Scripts/OCES/Audio/Generated/MusicContainer.cs.meta new file mode 100644 index 0000000..caa38c9 --- /dev/null +++ b/Assets/Scripts/OCES/Audio/Generated/MusicContainer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2999fe859bb9f448aa87bbe6495ce7aa +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/OCES/Audio/Generated/MusicPath.cs b/Assets/Scripts/OCES/Audio/Generated/MusicPath.cs new file mode 100644 index 0000000..7b7b1bd --- /dev/null +++ b/Assets/Scripts/OCES/Audio/Generated/MusicPath.cs @@ -0,0 +1,90 @@ +/* + * auto generated by tools(注意:千万不要手动修改本文件) + * MusicPath + */ +using System; +using System.IO; +using System.Collections.Generic; +using System.Text; + +namespace OCES.Audio +{ +[Serializable] +public partial class MusicPath : IBinarySerializable +{ + /// + /// 从1开始的int + /// + public uint Id { get; set; } + + /// + /// 在此定义path。格式为: TypeID1,子状态|TypeID2,子状态…… 无需判断的TypeID无需填写。 + /// + public string Path { get; set; } + + /// + /// 此处填写该Path要播放的ContainerID + /// + public uint ContainerId { get; set; } + + /// + /// 该条规则的优先级 + /// + public int Priority { get; set; } + + + public void DeSerialize(BinaryReader reader) + { + Id = reader.ReadUInt32(); + Path = reader.ReadString(); + ContainerId = reader.ReadUInt32(); + Priority = reader.ReadInt32(); + } + + public void Serialize(BinaryWriter writer) + { + writer.Write(Id); + writer.Write(Path); + writer.Write(ContainerId); + writer.Write(Priority); + } +} + +[Serializable] +public partial class MusicPathConfig : IBinarySerializable +{ + Dictionary m_musicPathInfos = new(); + List m_musicPathInfoList; + + public List MusicPathList() + { + this.m_musicPathInfoList ??= new List(m_musicPathInfos.Values); + return this.m_musicPathInfoList; + } + + public void DeSerialize(BinaryReader reader) + { + int count = reader.ReadInt32(); + for (int i = 0; i < count; i++) + { + MusicPath tempData = new(); + tempData.DeSerialize(reader); + this.m_musicPathInfos.Add(tempData.Id, tempData); + } + } + + public void Serialize(BinaryWriter writer) + { + writer.Write(this.m_musicPathInfos.Count); + foreach (MusicPath musicPath in this.m_musicPathInfos.Values) + { + musicPath.Serialize(writer); + } + } + + public MusicPath QueryById(uint id) + { + return this.m_musicPathInfos.GetValueOrDefault(id); + } +} +} diff --git a/Assets/Scripts/OCES/Audio/Generated/MusicPath.cs.meta b/Assets/Scripts/OCES/Audio/Generated/MusicPath.cs.meta new file mode 100644 index 0000000..1f5d00a --- /dev/null +++ b/Assets/Scripts/OCES/Audio/Generated/MusicPath.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9d4ef279e344b4e9eafc0b9a32edf771 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/OCES/Audio/Generated/MusicSegment.cs b/Assets/Scripts/OCES/Audio/Generated/MusicSegment.cs new file mode 100644 index 0000000..3fe054d --- /dev/null +++ b/Assets/Scripts/OCES/Audio/Generated/MusicSegment.cs @@ -0,0 +1,76 @@ +/* + * auto generated by tools(注意:千万不要手动修改本文件) + * MusicSegment + */ +using System; +using System.IO; +using System.Collections.Generic; +using System.Text; + +namespace OCES.Audio +{ +[Serializable] +public partial class MusicSegment : IBinarySerializable +{ + /// + /// 唯一ID + /// + public uint Id { get; set; } + + /// + /// 指向的文件名 + /// + public string Name { get; set; } + + + public void DeSerialize(BinaryReader reader) + { + Id = reader.ReadUInt32(); + Name = reader.ReadString(); + } + + public void Serialize(BinaryWriter writer) + { + writer.Write(Id); + writer.Write(Name); + } +} + +[Serializable] +public partial class MusicSegmentConfig : IBinarySerializable +{ + Dictionary m_musicSegmentInfos = new(); + List m_musicSegmentInfoList; + + public List MusicSegmentList() + { + this.m_musicSegmentInfoList ??= new List(m_musicSegmentInfos.Values); + return this.m_musicSegmentInfoList; + } + + public void DeSerialize(BinaryReader reader) + { + int count = reader.ReadInt32(); + for (int i = 0; i < count; i++) + { + MusicSegment tempData = new(); + tempData.DeSerialize(reader); + this.m_musicSegmentInfos.Add(tempData.Id, tempData); + } + } + + public void Serialize(BinaryWriter writer) + { + writer.Write(this.m_musicSegmentInfos.Count); + foreach (MusicSegment musicSegment in this.m_musicSegmentInfos.Values) + { + musicSegment.Serialize(writer); + } + } + + public MusicSegment QueryById(uint id) + { + return this.m_musicSegmentInfos.GetValueOrDefault(id); + } +} +} diff --git a/Assets/Scripts/OCES/Audio/Generated/MusicSegment.cs.meta b/Assets/Scripts/OCES/Audio/Generated/MusicSegment.cs.meta new file mode 100644 index 0000000..0ba281c --- /dev/null +++ b/Assets/Scripts/OCES/Audio/Generated/MusicSegment.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ea0ddf81033174975af33f019e7ae168 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/OCES/Audio/Generated/MusicTransition.cs b/Assets/Scripts/OCES/Audio/Generated/MusicTransition.cs new file mode 100644 index 0000000..666c75b --- /dev/null +++ b/Assets/Scripts/OCES/Audio/Generated/MusicTransition.cs @@ -0,0 +1,113 @@ +/* + * auto generated by tools(注意:千万不要手动修改本文件) + * MusicTransition + */ +using System; +using System.IO; +using System.Collections.Generic; +using System.Text; + +namespace OCES.Audio +{ +[Serializable] +public partial class MusicTransition : IBinarySerializable +{ + /// + /// FromPathId x 1000 + ToPathId + /// + public uint Id { get; set; } + + /// + /// 淡出总时长(s) + /// + public float FadeOutTime { get; set; } + + /// + /// source的段尾偏移量(s) + /// + public float FadeOutOffset { get; set; } + + /// + /// 淡入总时长(s) + /// + public float FadeInTime { get; set; } + + /// + /// Destination段首偏移量(s) + /// + public float FadeInOffset { get; set; } + + /// + /// 0 = 立即切换 + /// 1 = 拍 + /// 2 = 小节 + /// + public AlignMode AlignMode { get; set; } + + /// + /// + /// + public uint Segment { get; set; } + + + public void DeSerialize(BinaryReader reader) + { + Id = reader.ReadUInt32(); + FadeOutTime = reader.ReadSingle(); + FadeOutOffset = reader.ReadSingle(); + FadeInTime = reader.ReadSingle(); + FadeInOffset = reader.ReadSingle(); + AlignMode = (AlignMode)reader.ReadByte(); + Segment = reader.ReadUInt32(); + } + + public void Serialize(BinaryWriter writer) + { + writer.Write(Id); + writer.Write(FadeOutTime); + writer.Write(FadeOutOffset); + writer.Write(FadeInTime); + writer.Write(FadeInOffset); + writer.Write((byte)AlignMode); + writer.Write(Segment); + } +} + +[Serializable] +public partial class MusicTransitionConfig : IBinarySerializable +{ + Dictionary m_musicTransitionInfos = new(); + List m_musicTransitionInfoList; + + public List MusicTransitionList() + { + this.m_musicTransitionInfoList ??= new List(m_musicTransitionInfos.Values); + return this.m_musicTransitionInfoList; + } + + public void DeSerialize(BinaryReader reader) + { + int count = reader.ReadInt32(); + for (int i = 0; i < count; i++) + { + MusicTransition tempData = new(); + tempData.DeSerialize(reader); + this.m_musicTransitionInfos.Add(tempData.Id, tempData); + } + } + + public void Serialize(BinaryWriter writer) + { + writer.Write(this.m_musicTransitionInfos.Count); + foreach (MusicTransition musicTransition in this.m_musicTransitionInfos.Values) + { + musicTransition.Serialize(writer); + } + } + + public MusicTransition QueryById(uint id) + { + return this.m_musicTransitionInfos.GetValueOrDefault(id); + } +} +} diff --git a/Assets/Scripts/OCES/Audio/Generated/MusicTransition.cs.meta b/Assets/Scripts/OCES/Audio/Generated/MusicTransition.cs.meta new file mode 100644 index 0000000..1ec79f6 --- /dev/null +++ b/Assets/Scripts/OCES/Audio/Generated/MusicTransition.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 00cf01c892e674363bb452327ec87e00 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/OCES/Audio/HandWritten.meta b/Assets/Scripts/OCES/Audio/HandWritten.meta new file mode 100644 index 0000000..0eeb7c5 --- /dev/null +++ b/Assets/Scripts/OCES/Audio/HandWritten.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: c95d201fc6aa4713b89bc0960f6d067b +timeCreated: 1773995606 \ No newline at end of file diff --git a/Assets/Scripts/OCES/Audio/HandWritten/AmbienceChannelPlayer.cs b/Assets/Scripts/OCES/Audio/HandWritten/AmbienceChannelPlayer.cs new file mode 100644 index 0000000..67ba749 --- /dev/null +++ b/Assets/Scripts/OCES/Audio/HandWritten/AmbienceChannelPlayer.cs @@ -0,0 +1,106 @@ +using System.Collections; +using UnityEngine; + +namespace OCES.Audio +{ + /// + /// 环境音通道播放器。 + /// 与 MusicChannelPlayer 逻辑相同,但使用 AmbienceTransition 表,不涉及节拍对齐。 + /// + public class AmbienceChannelPlayer + { + readonly AmbienceTransitionConfig m_transitionConfig; + readonly MonoBehaviour m_coroutineHost; + readonly ChannelFader m_fader; + + ContainerPlayHandle m_currentHandle; + Coroutine m_transitionCoroutine; + + uint m_currentContainerId; + + public AmbienceChannelPlayer( + AmbienceTransitionConfig transitionConfig, + MusicContainerPlayer player, + MonoBehaviour coroutineHost) + { + this.m_transitionConfig = transitionConfig; + this.m_coroutineHost = coroutineHost; + this.m_fader = new ChannelFader(player, coroutineHost); + } + + // ───────────────────────────────────────────── + // 公开接口 + // ───────────────────────────────────────────── + + public void SwitchTo(uint newContainerId, uint fromPathId, uint toPathId) + { + if (newContainerId == this.m_currentContainerId && this.m_currentHandle != null) + return; + + AmbienceTransition transition = ResolveTransition(fromPathId, toPathId); + + if (this.m_transitionCoroutine != null) + this.m_coroutineHost.StopCoroutine(this.m_transitionCoroutine); + + this.m_transitionCoroutine = this.m_coroutineHost.StartCoroutine( + DoTransition(newContainerId, transition)); + } + + public void Stop() + { + if (this.m_transitionCoroutine != null) + this.m_coroutineHost.StopCoroutine(this.m_transitionCoroutine); + + this.m_fader.StopCurrent(); + } + + // ───────────────────────────────────────────── + // Transition 流程(无节拍对齐) + // ───────────────────────────────────────────── + + IEnumerator DoTransition(uint newContainerId, AmbienceTransition transition) + { + ContainerPlayHandle outgoing = this.m_fader.CurrentHandle; + float outgoingVolume = this.m_fader.CurrentVolume; + float fadeOutOffSet = transition?.FadeOutOffset ?? 0f; + float fadeOutTime = transition?.FadeOutTime ?? 0f; + float fadeInOffSet = transition?.FadeInOffset ?? 0f; + float fadeInTime = transition?.FadeInTime ?? 0f; + + // ContainerPlayHandle outgoingHandle = this.m_currentHandle; + // float outgoingVolume = this.m_currentVolume; + + this.m_coroutineHost.StartCoroutine( + this.m_fader.FadeOutBranch(outgoing, outgoingVolume,fadeOutOffSet, fadeOutTime)); + + yield return this.m_coroutineHost.StartCoroutine( + this.m_fader.FadeInBranch(newContainerId, fadeInOffSet, fadeInTime)); + } + + // ───────────────────────────────────────────── + // 工具 + // ───────────────────────────────────────────── + + AmbienceTransition ResolveTransition(uint fromPathId, uint toPathId) + { + // 优先精确匹配 + uint exactId = fromPathId * 1000 + toPathId; + AmbienceTransition exact = this.m_transitionConfig.QueryById(exactId); + if (exact != null) return exact; + + // From 为任意 + uint fromWildcard = 999u * 1000 + toPathId; + AmbienceTransition fromWild = this.m_transitionConfig.QueryById(fromWildcard); + if (fromWild != null) return fromWild; + + // To 为任意 + uint toWildcard = fromPathId * 1000 + 999u; + AmbienceTransition toWild = this.m_transitionConfig.QueryById(toWildcard); + if (toWild != null) return toWild; + + // 全通配 + const uint allWild = 999u * 1000 + 999u; + return this.m_transitionConfig.QueryById(allWild); + } + } +} diff --git a/Assets/Scripts/OCES/Audio/HandWritten/AmbienceChannelPlayer.cs.meta b/Assets/Scripts/OCES/Audio/HandWritten/AmbienceChannelPlayer.cs.meta new file mode 100644 index 0000000..d7a47db --- /dev/null +++ b/Assets/Scripts/OCES/Audio/HandWritten/AmbienceChannelPlayer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c4d8f04a88faf499baa9e72098bd1083 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/OCES/Audio/HandWritten/AudioContainerSelector.cs b/Assets/Scripts/OCES/Audio/HandWritten/AudioContainerSelector.cs new file mode 100644 index 0000000..b9a7b7b --- /dev/null +++ b/Assets/Scripts/OCES/Audio/HandWritten/AudioContainerSelector.cs @@ -0,0 +1,147 @@ +using System.Collections.Generic; +using System.Linq; +using UnityEngine; + +namespace OCES.Audio +{ + public class AudioContainerSelector + { + // TODO: 根据 audioObject.ContainerScope 控制随机历史的共享范围: + // - Global(当前实现):同一 AudioObject 的所有并发实例共享同一份 playHistory 和 limitRepetition 队列, + // 不放回随机在全局层面生效,并发实例之间互相感知已播放记录。 + // - PerInstance:每个并发播放实例持有独立的 playHistory 和 limitRepetition 队列, + // 不放回随机仅在该实例内生效,实例之间完全隔离。 + // 实现思路:PerInstance 模式下将 HashSet/Queue 作为局部变量传入协程,不再写入这两个 Dictionary。 + readonly Dictionary> m_randomPlayedHistories = new(); + readonly Dictionary> m_randomRecentQueues = new(); + readonly Dictionary m_sequenceNextIndex = new(); + + + /// + /// Shuffle 随机模式下选取 index(支持 LimitRepetition 队列) + /// + public int PickShuffleIndex(AudioObject audioObject) + { + int count = audioObject.Name.Count; + + // LimitRepetition 队列 + int limitRepetition = Mathf.Clamp(audioObject.LimitRepetition, 0, count - 1); + if (!this.m_randomRecentQueues.TryGetValue(audioObject.Id, out Queue recent)) + { + recent = new Queue(); + this.m_randomRecentQueues[audioObject.Id] = recent; + } + + if (!audioObject.RandomType) + { + List candidates = Enumerable.Range(0, count) + .Where(i => !recent.Contains(i)) + .ToList(); + + if (candidates.Count == 0) + candidates = Enumerable.Range(0, count).ToList(); + + int chosen = candidates[Random.Range(0, candidates.Count)]; + + if (limitRepetition > 0) + { + recent.Enqueue(chosen); + if (recent.Count > limitRepetition) + recent.Dequeue(); + } + + return chosen; + } + + // 不放回随机 + if (!this.m_randomPlayedHistories.TryGetValue(audioObject.Id, out HashSet history)) + { + history = new HashSet(); + this.m_randomPlayedHistories[audioObject.Id] = history; + } + + List available = Enumerable.Range(0, count) + .Where(i => !history.Contains(i) && !recent.Contains(i)) + .ToList(); + + if (available.Count == 0) + { + history.Clear(); + available = Enumerable.Range(0, count) + .Where(i => !recent.Contains(i)) + .ToList(); + + if (available.Count == 0) + available = Enumerable.Range(0, count).ToList(); + } + + int chosenIndex = available[Random.Range(0, available.Count)]; + history.Add(chosenIndex); + + if (limitRepetition > 0) + { + recent.Enqueue(chosenIndex); + if (recent.Count > limitRepetition) + recent.Dequeue(); + } + + return chosenIndex; + } + + /// + /// 连续容器的 Random 模式下,带 LimitRepetition 逻辑地选取 index + /// + public int PickNextRandomIndex(AudioObject audioObject, List remainingPool, Queue recentPlayed, int limitRepetition) + { + if (!this.m_randomPlayedHistories.TryGetValue(audioObject.Id, out HashSet history)) + { + history = new HashSet(); + this.m_randomPlayedHistories[audioObject.Id] = history; + } + + List candidates = remainingPool + .Where(i => !recentPlayed.Contains(i)) + .ToList(); + + if (candidates.Count == 0) + candidates = new List(remainingPool); + + int index = candidates[Random.Range(0, candidates.Count)]; + + if (audioObject.RandomType) + remainingPool.Remove(index); + + if (limitRepetition > 0) + recentPlayed.Enqueue(index); + + if (recentPlayed.Count > limitRepetition) + recentPlayed.Dequeue(); + + history.Add(index); + return index; + } + + /// + /// 获取 Sequence 模式下的当前 index 并推进游标 + /// + public int GetNextSequenceIndex(AudioObject audioObject) + { + int current = this.m_sequenceNextIndex.GetValueOrDefault(audioObject.Id, 0); + this.m_sequenceNextIndex[audioObject.Id] = (current + 1) % audioObject.Name.Count; + return current; + } + + public void ResetHistory(uint id) + { + if (this.m_randomPlayedHistories.TryGetValue(id, out HashSet history)) + { + history.Clear(); + } + } + + public int GetHistoryCount(uint id) + { + return this.m_randomPlayedHistories.TryGetValue(id, out HashSet history) ? history.Count : 0; + } + } +} diff --git a/Assets/Scripts/OCES/Audio/HandWritten/AudioContainerSelector.cs.meta b/Assets/Scripts/OCES/Audio/HandWritten/AudioContainerSelector.cs.meta new file mode 100644 index 0000000..d2d87ce --- /dev/null +++ b/Assets/Scripts/OCES/Audio/HandWritten/AudioContainerSelector.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: c3d3c29064584bf1a0cf1f023d5e3f61 +timeCreated: 1773368689 \ No newline at end of file diff --git a/Assets/Scripts/OCES/Audio/HandWritten/AudioScheduler.cs b/Assets/Scripts/OCES/Audio/HandWritten/AudioScheduler.cs new file mode 100644 index 0000000..06363fb --- /dev/null +++ b/Assets/Scripts/OCES/Audio/HandWritten/AudioScheduler.cs @@ -0,0 +1,387 @@ +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using UnityEngine; +using UnityEngine.Audio; + +namespace OCES.Audio +{ + /// + /// 音频调度器 + /// + public class AudioScheduler : MonoBehaviour + { + const int k_maxGlobalConcurrent = 128; + + //记录某个 AudioObject 最近一次触发播放的时刻,用于 MinInterval 节流判断,是"上次什么时候播过"。 + readonly Dictionary m_lastPlayTime = new(); + readonly Dictionary m_clipConcurrentCount = new(); + readonly List m_activeSounds = new(); + + AudioGroupConfig m_groupConfig; + AudioMixerGroup m_sfxGroup; + AudioMixerGroup m_musicGroup; + AudioMixerGroup m_voiceGroup; + AudioMixerGroup m_ambienceGroup; + AudioSourcePool m_pool; + AudioContainerSelector m_containerSelector; + PitchStepManager m_pitchStepManager; + + + int GetClipCount(uint id) + { + return this.m_clipConcurrentCount.GetValueOrDefault(id, 0); + } + + void IncrementClipCount(uint id) + { + this.m_clipConcurrentCount[id] = GetClipCount(id) + 1; + //Debug.Log($"{id} count added to {GetClipCount(id)}"); + } + + void DecrementClipCount(uint id) + { + int cur = GetClipCount(id); + if (cur > 0) this.m_clipConcurrentCount[id] = cur - 1; + //Debug.Log($"{id} clip count minus to {GetClipCount(id)}"); + } + + // ───────────────────────────────────────────── + // 初始化 + // ───────────────────────────────────────────── + + public void Initialize(AudioGroupConfig groups, AudioMixer mixer) + { + this.m_groupConfig = groups; + + this.m_pool = new AudioSourcePool(transform); + this.m_containerSelector = new AudioContainerSelector(); + this.m_pitchStepManager = new PitchStepManager(); + + AudioMixerGroup[] sfx = Find("Master/SFX"); + if (sfx.Length > 0) this.m_sfxGroup = sfx[0]; + AudioMixerGroup[] ambience = Find("Master/SFX/Ambience"); + if (ambience.Length > 0) this.m_ambienceGroup = ambience[0]; + AudioMixerGroup[] voice = Find("Master/Voice"); + if (voice.Length > 0) this.m_voiceGroup = voice[0]; + return; + + AudioMixerGroup[] Find(string path) => mixer.FindMatchingGroups(path); + } + + // ───────────────────────────────────────────── + // 节流 & 调度入口 + // ───────────────────────────────────────────── + + internal void TryPlay(AudioObject audioObject) + { + double now = Time.realtimeSinceStartupAsDouble * 1000.0; + + // 第一层:时间节流 单位毫秒 + if (this.m_lastPlayTime.TryGetValue(audioObject.Id, out double lastTime) && + now - lastTime < audioObject.MinInterval) + { + Debug.LogWarning($"[Throttle] {audioObject.Name[0]} 未达到最小间隔,取消播放。"); + return; + } + + // 第二层:单 AudioObject/Clip 并发控制 + if (audioObject.ThrottleCount != 0) + { // TODO 这里和下面的组控制,每次都会分配新List,可以考虑做成成员变量,每次用完clear + // TODO Linq表达式好用但是GC性能差。如果性能有问题可以考虑换成普通表达 + List sameObject = this.m_activeSounds + .Where(a => a.AudioObject.Id == audioObject.Id) + .ToList(); + + if (sameObject.Count >= audioObject.ThrottleCount && + !TryKill(sameObject, audioObject.KillMode, $"[Object] {audioObject.Name[0]}")) + return; + } + + // 第三层:Group 并发控制 + AudioGroup groupConfig = this.m_groupConfig.QueryById(audioObject.Group); + if (groupConfig == null) + { + groupConfig = this.m_groupConfig.QueryById(1); + Debug.Log($"未找到{audioObject.Id}对应的组文件,已使用默认配置组1。"); + } + List sameGroup = this.m_activeSounds + .Where(a => a.AudioObject.Group == audioObject.Group) + .ToList(); + + if (sameGroup.Count >= groupConfig.GroupThrottleCount) + { + List lowerPriority = sameGroup + .Where(a => a.AudioObject.Priority > audioObject.Priority) + .ToList(); + + List killCandidates = lowerPriority.Count > 0 ? lowerPriority : sameGroup; + KillMode killMode = lowerPriority.Count > 0 ? groupConfig.KillMode : audioObject.KillMode; + + if (!TryKill(killCandidates, killMode, $"[Group] {audioObject.Name[0]}")) + return; + } + + // 第四层:全局并发控制 + if (this.m_activeSounds.Count >= k_maxGlobalConcurrent) + { + List lowerPriority = this.m_activeSounds + .Where(a => a.AudioObject.Priority > audioObject.Priority) + .ToList(); + + if (lowerPriority.Count == 0 || !TryKill(lowerPriority, KillMode.Oldest, "[Global]")) + return; + } + + // 执行播放 + float pitch = this.m_pitchStepManager.ResolvePitch(audioObject, now); //算一下用不用变调 + PlayNewSound(audioObject, pitch); + this.m_lastPlayTime[audioObject.Id] = now; + } + + // ───────────────────────────────────────────── + // 播放逻辑 + // ───────────────────────────────────────────── + + void PlayNewSound(AudioObject audioObject, float pitch) + { + // Blend:同时播放所有音轨,无需走后续逻辑 + if (audioObject.ContainerType == ContainerType.Blend) + { + for (int i = 0; i < audioObject.Name.Count; i++) + ConfigureSource(this.m_pool.AcquireAudioSource(), audioObject, pitch, clipIndex: i, registerRemove: true); + return; + + // TODO BlendRanges, BlendCrossFadeType, BlendReactParam 支持 + } + + AudioSource source = this.m_pool.AcquireAudioSource(); + + // 持续播放模式(Continuous) + if (audioObject.Name.Count > 1 && audioObject.ContainerPlayMode) + { + ActiveSound chainActive = new() + { + Source = source, + AudioObject = audioObject, + StartTime = Time.realtimeSinceStartupAsDouble, + Pitch = pitch, + }; + this.m_activeSounds.Add(chainActive); + IncrementClipCount(audioObject.Id); + int continuousStart = audioObject.ContainerType == ContainerType.Random ? -1 : 0; + chainActive.Coroutine = + StartCoroutine(PlayContainerContinuous(source, audioObject, chainActive, continuousStart, pitch)); + return; + } + + // 单次播放(步进模式) + int startIndex = audioObject.ContainerType switch + { + ContainerType.Random => this.m_containerSelector.PickShuffleIndex(audioObject), + ContainerType.Sequence => this.m_containerSelector.GetNextSequenceIndex(audioObject), + _ => 0, + }; + + ConfigureSource(source, audioObject, pitch, startIndex, registerRemove: true); + } + + /// + /// 连续容器播放协程(Random / Sequence 持续模式) + /// + IEnumerator PlayContainerContinuous(AudioSource source, AudioObject audioObject, ActiveSound chainActive, int startIndex, float pitch) + { + bool isRandom = audioObject.ContainerType == ContainerType.Random; + + // 初始化 Random 模式的辅助结构 + List remainingPool = isRandom ? new List(Enumerable.Range(0, audioObject.Name.Count)) : null; + Queue recentPlayed = isRandom ? new Queue() : null; + int limitRepetition = isRandom ? Mathf.Clamp(audioObject.LimitRepetition, 0, audioObject.Name.Count - 1) : 0; + + int index = startIndex; + + while (true) + { + // 选择本轮播放的 index + if (isRandom) + index = this.m_containerSelector.PickNextRandomIndex( + audioObject, + remainingPool, + recentPlayed, + limitRepetition); + + // 配置并播放 + if (!ConfigureSource(source, audioObject, pitch, index, registerRemove: false)) + { + Debug.LogError($"音频文件未找到:{audioObject.Name[index]}"); + yield break; + } + + yield return new WaitWhile(() => source.isPlaying); + + // 判断本轮是否播完 + bool roundFinished = isRandom + ? remainingPool.Count == 0 || this.m_containerSelector.GetHistoryCount(audioObject.Id) == audioObject.Name.Count + : ++index >= audioObject.Name.Count; + + if (roundFinished) + { + DecrementClipCount(audioObject.Id); + this.m_activeSounds.Remove(chainActive); + + if (isRandom) + this.m_containerSelector.ResetHistory(audioObject.Id); + + this.m_pool.ReturnToPool(source.gameObject); + + //Debug.Log($"[Container - Continuous] 协程正常结束: {audioObject.Name[0]}"); + yield break; + } + } + } + + // ───────────────────────────────────────────── + // 工具方法 + // ───────────────────────────────────────────── + + /// + /// 尝试打断一个候选声音。返回 false 表示应取消当前播放(Newest 模式)。 + /// + bool TryKill(List candidates, KillMode killMode, string logPrefix) + { + if (killMode == KillMode.Newest) + { + Debug.LogWarning($"{logPrefix} 被 KillNewest 取消播放。"); + return false; + } + + ActiveSound toKill = SelectOldest(candidates); + if (toKill != null) + { + Debug.LogWarning($"{logPrefix} 打断了 {toKill.AudioObject.Name[0]}。"); + StopSound(toKill); + } + return true; + } + + /// + /// 从候选列表中选出开始时间最早的声音 + /// + ActiveSound SelectOldest(List candidates) + { + ActiveSound oldest = null; + foreach (ActiveSound s in candidates) + { + if (oldest == null || s.StartTime < oldest.StartTime) + { + oldest = s; + } + } + return oldest; + } + + /// + /// 根据 MixingType 获取对应的 AudioMixerGroup + /// + AudioMixerGroup GetMixerGroup(MixingType type) => type switch + { + MixingType.Music => this.m_musicGroup, + MixingType.Voice => this.m_voiceGroup, + _ => this.m_sfxGroup, + }; + + + bool ConfigureSource(AudioSource source, AudioObject audioObject, float pitch, int clipIndex = 0, bool registerRemove = true) + { + // TODO 现用现找可能会导致主线程卡死,尤其是低端机。需要配合Decompress配置优化性能。 + AudioClip clip = Resources.Load($"Audios/{audioObject.Name[clipIndex]}"); + if (!clip) + { + Debug.LogError($"音频文件未找到:{audioObject.Name[clipIndex]}"); + return false; + } + + source.clip = clip; + source.loop = audioObject.LoopCount < 0; + source.priority = audioObject.Priority; + source.outputAudioMixerGroup = GetMixerGroup(audioObject.MixingType); + source.pitch = pitch; + source.Play(); + + if (registerRemove) + { + IncrementClipCount(audioObject.Id); + + ActiveSound active = new() + { + Source = source, + AudioObject = audioObject, + StartTime = Time.realtimeSinceStartupAsDouble, + Pitch = pitch, + }; + this.m_activeSounds.Add(active); + active.Coroutine = StartCoroutine(RemoveWhenFinished(active)); + } + + return true; + } + + IEnumerator RemoveWhenFinished(ActiveSound active) + { + if (active.AudioObject.LoopCount < 0) + { + //Debug.Log($"RemoveWhenFinished协程已结束,因为播放的是无限循环音效{active.Source.clip.name}"); + yield break; + } + + do + { + yield return new WaitWhile(() => active.Source.isPlaying); + active.CurrentLoopCount++; + } + while (active.AudioObject.LoopCount > 0 + && active.CurrentLoopCount < active.AudioObject.LoopCount + && PlayAgain(active)); + + DecrementClipCount(active.AudioObject.Id); + this.m_activeSounds.Remove(active); + this.m_pool.ReturnToPool(active.Source.gameObject); + } + + bool PlayAgain(ActiveSound active) + { + active.Source.Play(); + return true; + } + + void StopSound(ActiveSound active) + { + if (active.Coroutine != null) + { + StopCoroutine(active.Coroutine); + //Debug.Log($"[StopSound] 协程已终止: {active.AudioObject.Name[0]}"); + } + + active.Source.Stop(); + DecrementClipCount(active.AudioObject.Id); + this.m_activeSounds.Remove(active); + this.m_pool.ReturnToPool(active.Source.gameObject); + } + + + } + + /// + /// 活跃的声音封装 + /// + public class ActiveSound + { + public AudioSource Source; + public AudioObject AudioObject; + // 记录某个具体播放实例的开始时间,用于 SelectOldest 在多个并发实例中挑出最老的那个来打断,是"这个实例是什么时候开始的"。 + public double StartTime; + public int CurrentLoopCount; + public Coroutine Coroutine; + public float Pitch; + } +} \ No newline at end of file diff --git a/Assets/Scripts/OCES/Audio/HandWritten/AudioScheduler.cs.meta b/Assets/Scripts/OCES/Audio/HandWritten/AudioScheduler.cs.meta new file mode 100644 index 0000000..e58c9de --- /dev/null +++ b/Assets/Scripts/OCES/Audio/HandWritten/AudioScheduler.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ca448d69f123346b0b03c828b398cc89 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/OCES/Audio/HandWritten/AudioSourcePool.cs b/Assets/Scripts/OCES/Audio/HandWritten/AudioSourcePool.cs new file mode 100644 index 0000000..38c4f69 --- /dev/null +++ b/Assets/Scripts/OCES/Audio/HandWritten/AudioSourcePool.cs @@ -0,0 +1,49 @@ +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.Audio; + +namespace OCES.Audio +{ + public class AudioSourcePool + { + readonly Transform m_root; + readonly Queue m_audioSourcePool = new(); + int m_counter; + AudioMixerGroup m_mixerGroup; + + public AudioSourcePool(Transform root, AudioMixerGroup mixerGroup = null) + { + this.m_root = root; + this.m_mixerGroup = mixerGroup; + } + + public AudioSource AcquireAudioSource() + { + GameObject go; + if (this.m_audioSourcePool.Count > 0) + { + go = this.m_audioSourcePool.Dequeue(); + go.SetActive(true); + } + else + { + this.m_counter++; + go = new GameObject($"AudioSource{this.m_counter}"); + go.transform.SetParent(this.m_root, false); + go.AddComponent(); + } + + AudioSource audioSource = go.GetComponent(); + audioSource.outputAudioMixerGroup = this.m_mixerGroup; + return audioSource; + } + + public void ReturnToPool(GameObject go) + { + AudioSource audioSource = go.GetComponent(); + audioSource.clip = null; + go.SetActive(false); + this.m_audioSourcePool.Enqueue(go); + } + } +} diff --git a/Assets/Scripts/OCES/Audio/HandWritten/AudioSourcePool.cs.meta b/Assets/Scripts/OCES/Audio/HandWritten/AudioSourcePool.cs.meta new file mode 100644 index 0000000..8b9fe56 --- /dev/null +++ b/Assets/Scripts/OCES/Audio/HandWritten/AudioSourcePool.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: bb9baa4976eb4d109688f379e5aa9b0f +timeCreated: 1773368680 \ No newline at end of file diff --git a/Assets/Scripts/OCES/Audio/HandWritten/AudioSystem.cs b/Assets/Scripts/OCES/Audio/HandWritten/AudioSystem.cs new file mode 100644 index 0000000..5d0260c --- /dev/null +++ b/Assets/Scripts/OCES/Audio/HandWritten/AudioSystem.cs @@ -0,0 +1,147 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using UnityEngine; +using UnityEngine.Audio; + +namespace OCES.Audio +{ + public class AudioSystem : MonoBehaviour + { + public static AudioSystem Instance { get; private set; } + + const string k_audioConfigPath = "AudioData"; + const string k_audioResourcePath = "Audios"; + + AudioScheduler m_scheduler; + MusicSystem m_musicSystem; + + AudioObjectConfig m_audioObjects; + AudioGroupConfig m_groups; + AudioMixer m_mixer; + + // ───────────────────────────────────────────── + // 公开接口 + // ───────────────────────────────────────────── + + public void Play(AudioObject audioObject) + { + this.m_scheduler.TryPlay(audioObject); + } + + public void Play(int audioId) + { + AudioObject obj = this.m_audioObjects.QueryById((uint)audioId); + if (obj != null) + this.m_scheduler.TryPlay(obj); + } + + public void Play(string audioName) + { + // TODO: 按文件名播放 + } + + /// + /// 更新游戏状态,驱动音乐与环境音系统切换。 + /// 调用示例:AudioSystem.Instance.SetState(GameState.Game); + /// + public void SetState(TEnum state) where TEnum : Enum + { + this.m_musicSystem.OnStateChanged(state); + } + + // ───────────────────────────────────────────── + // 初始化 + // ───────────────────────────────────────────── + + void Awake() + { + if ((bool)Instance && Instance != this) + { + Destroy(gameObject); + return; + } + Instance = this; + DontDestroyOnLoad(gameObject); + + this.m_mixer = Resources.Load("Audios/Master"); + + // ── SFX 调度器 ── + this.m_scheduler = gameObject.AddComponent(); + this.m_audioObjects = AudioConfigLoader.Load($"{k_audioConfigPath}/AudioObject"); + this.m_groups = AudioConfigLoader.Load($"{k_audioConfigPath}/AudioGroup"); + this.m_scheduler.Initialize(this.m_groups, this.m_mixer); + + // ── 音乐与环境音系统 ── + var segments = AudioConfigLoader.Load($"{k_audioConfigPath}/MusicSegment"); + var containers = AudioConfigLoader.Load($"{k_audioConfigPath}/MusicContainer"); + var musicPaths = AudioConfigLoader.Load($"{k_audioConfigPath}/MusicPath"); + var ambiencePaths = AudioConfigLoader.Load($"{k_audioConfigPath}/AmbiencePath"); + var musicTransitions = AudioConfigLoader.Load($"{k_audioConfigPath}/MusicTransition"); + var ambienceTransitions = AudioConfigLoader.Load($"{k_audioConfigPath}/AmbienceTransition"); + + // MusicSystem 需要运行协程,作为 MonoBehaviour 挂载在同一 GameObject 上 + this.m_musicSystem = gameObject.AddComponent(); + + // AudioSourcePool 由 MusicSystem 独占一个子节点,与 SFX pool 隔离 + GameObject musicPoolRoot = new("MusicSourcePool"); + musicPoolRoot.transform.SetParent(transform, false); + AudioMixerGroup musicGroup = this.m_mixer.FindMatchingGroups("Master/Music")[0]; + AudioSourcePool musicPool = new(musicPoolRoot.transform, musicGroup); + + GameObject ambiencePoolRoot = new("AmbienceSourcePool"); + musicPoolRoot.transform.SetParent(transform, false); + AudioMixerGroup ambienceGroup = this.m_mixer.FindMatchingGroups("Master/SFX/Ambience")[0]; + AudioSourcePool ambiencePool = new(ambiencePoolRoot.transform, ambienceGroup); + + this.m_musicSystem.Initialize( + segments, + containers, + musicPaths, + ambiencePaths, + musicTransitions, + ambienceTransitions, + musicPool, + ambiencePool); + + // ── 注册 StateGroup ── + // 在此处注册所有游戏状态 enum,TypeId 需与策划表中填写的数字一致 + // 示例(请根据实际 enum 修改): + // StateGroupRegistry.Register(1); + // StateGroupRegistry.Register(2); + StateGroupRegistry.Register(1); + + // ── 启动默认音乐与环境音 ── + // 触发一次初始状态,让音乐系统从默认状态开始匹配 + SetState(GameState.Home); + } + } + + static class AudioConfigLoader + { + public static Dictionary Load(string path, Func keySelector) + { + string json = System.IO.File.ReadAllText(path); + var wrapper = JsonUtility.FromJson>(json); + return wrapper.AudioObjects.ToDictionary(keySelector); + } + + public static T Load(string tableName) where T : IBinarySerializable, new() + { + TextAsset bytes = Resources.Load(tableName); + if (!bytes) + Debug.LogError($"未找到表 {tableName}"); + IBinarySerializable data = new T(); + bool readOk = FileManager.ReadBinaryDataFromBytes(bytes.bytes, ref data); + if (readOk) + return (T)data; + Debug.LogError($"{tableName} 解析出错,类型 {typeof(T)}"); + return default; + } + + class AudioObjectArrayWrapper + { + public T[] AudioObjects; + } + } +} diff --git a/Assets/Scripts/OCES/Audio/HandWritten/AudioSystem.cs.meta b/Assets/Scripts/OCES/Audio/HandWritten/AudioSystem.cs.meta new file mode 100644 index 0000000..17a7b8c --- /dev/null +++ b/Assets/Scripts/OCES/Audio/HandWritten/AudioSystem.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 5ce1f814dd5d46d48bc33c18ba11c44c +timeCreated: 1772431542 \ No newline at end of file diff --git a/Assets/Scripts/OCES/Audio/HandWritten/ChannelFader.cs b/Assets/Scripts/OCES/Audio/HandWritten/ChannelFader.cs new file mode 100644 index 0000000..9a3abfe --- /dev/null +++ b/Assets/Scripts/OCES/Audio/HandWritten/ChannelFader.cs @@ -0,0 +1,151 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace OCES.Audio +{ + /// + /// 与Transition无关的音量/生命周期管理逻辑 + /// + public class ChannelFader + { + readonly MusicContainerPlayer m_player; + readonly MonoBehaviour m_coroutineHost; + + public ContainerPlayHandle CurrentHandle { get; private set; } + public uint CurrentContainerId { get; private set; } + public float CurrentVolume { get; private set; } + + public ChannelFader(MusicContainerPlayer player, MonoBehaviour coroutineHost) + { + this.m_player = player; + this.m_coroutineHost = coroutineHost; + } + + void StartNew(uint containerId, float startVolume) + { + CurrentContainerId = containerId; + CurrentVolume = startVolume; + CurrentHandle = this.m_player.Play(containerId); + } + + public void StopCurrent() + { + StopHandle(CurrentHandle); + CurrentHandle = null; + CurrentContainerId = 0; + } + + void StopHandle(ContainerPlayHandle handle) + { + if (handle == null) return; + this.m_player.Stop(handle); + } + + /// + /// 淡出分支:fire-and-forget,由调用方 StartCoroutine + /// + internal IEnumerator FadeOutBranch(ContainerPlayHandle outgoingHandle, float outgoingVolume, float fadeOutOffset, float fadeOutTime) + { + if (outgoingHandle == null) yield break; + + if (fadeOutOffset > 0f) + { + Debug.Log($"Waiting for {fadeOutOffset} to fade out."); + yield return new WaitForSeconds(fadeOutOffset); + } + + if (fadeOutTime > 0f ) + yield return this.m_coroutineHost.StartCoroutine( + FadeOut(outgoingHandle, outgoingVolume, fadeOutTime)); + else + StopHandle(outgoingHandle); + } + + /// + /// 淡入分支:等待 FadeInOffset 后启动新音乐并淡入。 + /// 主协程 yield return 此分支,以便 DoTransition 在新音乐就绪后才结束。 + /// + internal IEnumerator FadeInBranch(uint newContainerId, float fadeInOffset, float fadeInTime, Action onContainerStarted = null) + { + if (fadeInOffset > 0f) + { + Debug.Log($"Waiting {fadeInOffset} to fade in."); + yield return new WaitForSeconds(fadeInOffset); + } + + if (newContainerId == 0) + { + CurrentHandle = null; + CurrentContainerId = 0; + yield break; + } + + float startVolume = fadeInTime > 0f ? 0f : 1f; + StartNew(newContainerId, startVolume); + + if (fadeInTime > 0f ) + { + yield return this.m_coroutineHost.StartCoroutine( + FadeIn(CurrentHandle, fadeInTime)); + } + } + + IEnumerator FadeOut(ContainerPlayHandle handle, float fromVolume, float duration) + { + Debug.Log($"Fading out in {duration} seconds."); + if (handle == null || handle.Cancelled) yield break; + + float elapsed = 0f; + List sources = new(); + handle.CollectActiveSources(sources); + + while (elapsed < duration) + { + if (handle.Cancelled) break; + elapsed += Time.deltaTime; + float t = Mathf.Clamp01(elapsed / duration); + float vol = Mathf.Lerp(fromVolume, 0f, t); + foreach (AudioSource src in sources) + if (src) src.volume = vol; + yield return null; + } + + StopHandle(handle); + } + + IEnumerator FadeIn(ContainerPlayHandle handle, float duration) + { + Debug.Log($"Fading In {duration} seconds."); + if (handle == null || handle.Cancelled) yield break; + + float elapsed = 0f; + List sources = new(); + + while (elapsed < duration) + { + if (handle.Cancelled) yield break; + elapsed += Time.deltaTime; + float t = Mathf.Clamp01(elapsed / duration); + + // 每帧重新收集(Blend 模式下新 source 可能中途加入) + sources.Clear(); + handle.CollectActiveSources(sources); + foreach (AudioSource src in sources) + if (src) src.volume = Mathf.Lerp(0f, 1f, t); + yield return null; + } + + // 确保最终音量准确 + sources.Clear(); + handle.CollectActiveSources(sources); + foreach (AudioSource src in sources) + if (src) src.volume = 1f; + + CurrentVolume = 1f; + } + + + } +} diff --git a/Assets/Scripts/OCES/Audio/HandWritten/ChannelFader.cs.meta b/Assets/Scripts/OCES/Audio/HandWritten/ChannelFader.cs.meta new file mode 100644 index 0000000..51bfcff --- /dev/null +++ b/Assets/Scripts/OCES/Audio/HandWritten/ChannelFader.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 2794446aae0840ec83fa7c5510ee55bf +timeCreated: 1773992080 \ No newline at end of file diff --git a/Assets/Scripts/OCES/Audio/HandWritten/MusicChannelPlayer.cs b/Assets/Scripts/OCES/Audio/HandWritten/MusicChannelPlayer.cs new file mode 100644 index 0000000..3ff2906 --- /dev/null +++ b/Assets/Scripts/OCES/Audio/HandWritten/MusicChannelPlayer.cs @@ -0,0 +1,185 @@ +using System.Collections; +using UnityEngine; + +namespace OCES.Audio +{ + /// + /// 音乐通道播放器。 + /// 负责:切换目标 Container、等待节拍对齐、执行淡入淡出 Transition。 + /// + public class MusicChannelPlayer + { + readonly MusicContainerConfig m_containerConfig; + readonly MusicTransitionConfig m_transitionConfig; + readonly MonoBehaviour m_coroutineHost; + readonly ChannelFader m_fader; + + // 当前正在播放的句柄 + ContainerPlayHandle m_currentHandle; + uint m_currentContainerId; + float m_currentVolume = 1f; + + // 当前播放的 Container(用于读取 bpm/timeSig 做节拍对齐) + MusicContainer m_currentContainer; + + // 当前播放开始的时间(用于计算当前播到哪个拍子) + double m_playStartTime; + + // 正在进行的 transition 协程(防止重叠) + Coroutine m_transitionCoroutine; + + public MusicChannelPlayer( + MusicContainerConfig containerConfig, + MusicTransitionConfig transitionConfig, + MusicContainerPlayer player, + MonoBehaviour coroutineHost) + { + this.m_containerConfig = containerConfig; + this.m_transitionConfig = transitionConfig; + this.m_coroutineHost = coroutineHost; + this.m_fader = new ChannelFader(player, coroutineHost); + } + + // ───────────────────────────────────────────── + // 公开接口 + // ───────────────────────────────────────────── + + /// + /// 切换到新的 Container。 + /// fromPathId / toPathId 用于查询 Transition 配置。 + /// + internal void SwitchTo(uint newContainerId, uint fromPathId, uint toPathId) + { + if (newContainerId == this.m_currentContainerId && this.m_currentHandle != null) + return; // 已经在播目标,无需切换 + + MusicTransition transition = ResolveTransition(fromPathId, toPathId); + + if (this.m_transitionCoroutine != null) + this.m_coroutineHost.StopCoroutine(this.m_transitionCoroutine); + + this.m_transitionCoroutine = this.m_coroutineHost.StartCoroutine( + DoTransition(newContainerId, transition)); + } + + /// + /// 立即停止当前播放(无淡出) + /// + public void Stop() + { + if (this.m_transitionCoroutine != null) + this.m_coroutineHost.StopCoroutine(this.m_transitionCoroutine); + + this.m_fader.StopCurrent(); + } + + // ───────────────────────────────────────────── + // Transition 流程 + // ───────────────────────────────────────────── + + IEnumerator DoTransition(uint newContainerId, MusicTransition transition) + { + // ── 1. 等待节拍对齐(由 Transition 的 AlignMode 决定)── + if (transition != null && this.m_currentContainer != null) + { + yield return this.m_coroutineHost.StartCoroutine( + WaitForAlignment(transition.AlignMode, this.m_currentContainer)); + } + + // ── 2 & 3. 淡出与淡入并行:两条分支从同一时刻起算各自的 Offset,互不等待 ── + ContainerPlayHandle outgoing = this.m_fader.CurrentHandle; + float outVol = this.m_fader.CurrentVolume; + float fadeOutOffset = transition?.FadeOutOffset ?? 0f; + float fadeOutTime = transition?.FadeOutTime ?? 0f; + float fadeInOffset = transition?.FadeInOffset ?? 0f; + float fadeInTime = transition?.FadeInTime ?? 0f; + + this.m_coroutineHost.StartCoroutine( + this.m_fader.FadeOutBranch(outgoing, outVol, fadeOutOffset, fadeOutTime)); + + yield return this.m_coroutineHost.StartCoroutine( + this.m_fader.FadeInBranch(newContainerId, fadeInOffset, fadeInTime, + onContainerStarted: () => + { + // Music 独有:记录新 container 和播放起始时间 + this.m_currentContainer = this.m_containerConfig.QueryById(newContainerId); + this.m_playStartTime = AudioSettings.dspTime; + })); + } + + // ───────────────────────────────────────────── + // 节拍对齐等待 + // ───────────────────────────────────────────── + + IEnumerator WaitForAlignment(AlignMode mode, MusicContainer container) + { + if (mode == AlignMode.Immediate || container.Bpm <= 0f) + yield break; + + double now = AudioSettings.dspTime; + double elapsed = now - this.m_playStartTime; + + double secondsPerBeat = 60.0 / container.Bpm; + + if (mode == AlignMode.Beat) + { + double beatsElapsed = elapsed / secondsPerBeat; + double nextBeat = System.Math.Ceiling(beatsElapsed); + double waitSeconds = (nextBeat - beatsElapsed) * secondsPerBeat; + if (waitSeconds > 0.001) + yield return new WaitForSeconds((float)waitSeconds); + } + else if (mode == AlignMode.Bar) + { + int beatsPerBar = ParseBeatsPerBar(container.TimeSig); + double secondsPerBar = secondsPerBeat * beatsPerBar; + double barsElapsed = elapsed / secondsPerBar; + double nextBar = System.Math.Ceiling(barsElapsed); + double waitSeconds = (nextBar - barsElapsed) * secondsPerBar; + if (waitSeconds > 0.001) + yield return new WaitForSeconds((float)waitSeconds); + } + } + + /// + /// 解析拍号字符串(如 "4/4", "3/4"),返回每小节拍数。 + /// + static int ParseBeatsPerBar(string timeSig) + { + if (string.IsNullOrEmpty(timeSig)) return 4; + string[] parts = timeSig.Split('/'); + if (parts.Length >= 1 && int.TryParse(parts[0], out int beats)) + return beats; + return 4; + } + // ───────────────────────────────────────────── + // 工具 + // ───────────────────────────────────────────── + + /// + /// 查询 Transition 配置,支持精确匹配和 999 通配符。 + /// ID 规则:FromPathId × 1000 + ToPathId,999 表示任意。 + /// + MusicTransition ResolveTransition(uint fromPathId, uint toPathId) + { + // 优先精确匹配 + uint exactId = fromPathId * 1000 + toPathId; + MusicTransition exact = this.m_transitionConfig.QueryById(exactId); + if (exact != null) return exact; + + // From 为任意 + uint fromWildcard = 999u * 1000 + toPathId; + MusicTransition fromWild = this.m_transitionConfig.QueryById(fromWildcard); + if (fromWild != null) return fromWild; + + // To 为任意 + uint toWildcard = fromPathId * 1000 + 999u; + MusicTransition toWild = this.m_transitionConfig.QueryById(toWildcard); + if (toWild != null) return toWild; + + // 全通配 + const uint allWild = 999u * 1000 + 999u; + return this.m_transitionConfig.QueryById(allWild); + } + } +} diff --git a/Assets/Scripts/OCES/Audio/HandWritten/MusicChannelPlayer.cs.meta b/Assets/Scripts/OCES/Audio/HandWritten/MusicChannelPlayer.cs.meta new file mode 100644 index 0000000..6bf8cdc --- /dev/null +++ b/Assets/Scripts/OCES/Audio/HandWritten/MusicChannelPlayer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f1f58aa9d667d4a379642a33e5fb8d76 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/OCES/Audio/HandWritten/MusicContainerPlayer.cs b/Assets/Scripts/OCES/Audio/HandWritten/MusicContainerPlayer.cs new file mode 100644 index 0000000..ccced6c --- /dev/null +++ b/Assets/Scripts/OCES/Audio/HandWritten/MusicContainerPlayer.cs @@ -0,0 +1,390 @@ +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using UnityEngine; + +namespace OCES.Audio +{ + /// + /// 负责递归播放一个 MusicContainer 树。 + /// 被 MusicChannelPlayer 和 AmbienceChannelPlayer 共同使用。 + /// 不持有状态机逻辑,只负责"把这个 Container 播完"。 + /// + public class MusicContainerPlayer + { + readonly MusicContainerConfig m_containerConfig; + readonly MusicSegmentConfig m_segmentConfig; + readonly AudioSourcePool m_pool; + readonly MonoBehaviour m_coroutineHost; + UnityEngine.Audio.AudioMixerGroup m_mixerGroup; + + // Sequence Step 模式的全局游标,key = containerId + readonly Dictionary m_sequenceStepIndex = new(); + + // Random 模式的不放回历史,key = containerId + readonly Dictionary> m_randomHistory = new(); + + public MusicContainerPlayer( + MusicContainerConfig containerConfig, + MusicSegmentConfig segmentConfig, + AudioSourcePool pool, + MonoBehaviour coroutineHost) + { + this.m_containerConfig = containerConfig; + this.m_segmentConfig = segmentConfig; + this.m_pool = pool; + this.m_coroutineHost = coroutineHost; + } + + // ───────────────────────────────────────────── + // 公开入口 + // ───────────────────────────────────────────── + + /// + /// 开始播放指定 Container,播放完毕后调用 onFinished。 + /// 返回可用于外部停止的句柄。 + /// + public ContainerPlayHandle Play(uint containerId, System.Action onFinished = null) + { + MusicContainer container = this.m_containerConfig.QueryById(containerId); + if (container == null) + { + Debug.LogError($"[MusicContainerPlayer] 找不到 ContainerId: {containerId}"); + onFinished?.Invoke(); + return null; + } + + ContainerPlayHandle handle = new(); + handle.TargetVolume = 1f; + handle.Coroutine = this.m_coroutineHost.StartCoroutine( + PlayContainerCoroutine(container, handle, onFinished)); + return handle; + } + + /// + /// 停止一个播放句柄(立即停止,不淡出) + /// + public void Stop(ContainerPlayHandle handle) + { + if (handle == null) return; + handle.Cancelled = true; + + foreach (ContainerPlayHandle child in handle.ChildHandles) + { + Stop(child); + } + handle.ChildHandles.Clear(); + + + if (handle.Coroutine != null) + this.m_coroutineHost.StopCoroutine(handle.Coroutine); + foreach (AudioSource src in handle.ActiveSources) + { + ReturnSource(src); + } + handle.ActiveSources.Clear(); + } + + // ───────────────────────────────────────────── + // 核心协程 + // ───────────────────────────────────────────── + + IEnumerator PlayContainerCoroutine( + MusicContainer container, + ContainerPlayHandle handle, + System.Action onFinished) + { + int loopsCompleted = 0; + + while (true) + { + yield return this.m_coroutineHost.StartCoroutine( + PlayContainerOnce(container, handle.TargetVolume, handle)); + + if (handle.Cancelled) yield break; + + loopsCompleted++; + + // -1 = 无限循环,一直重复 + if (container.LoopCount == -1) + continue; + + // 0 = 不循环,播一次就结束 + if (container.LoopCount == 0) + break; + + // >= 1,播满次数后结束 + if (loopsCompleted >= container.LoopCount) + break; + } + + if (!handle.Cancelled) + onFinished?.Invoke(); + } + + /// + /// 播放一个 Container 一轮(不含循环逻辑) + /// + IEnumerator PlayContainerOnce(MusicContainer container, float volumeScale, ContainerPlayHandle handle) + { + if (container.Segments == null || container.Segments.Count == 0) + yield break; + + switch (container.ContainerType) + { + case ContainerType.Blend: + yield return PlayBlend(container, volumeScale, handle); + break; + + case ContainerType.Sequence: + yield return PlaySequence(container, volumeScale, handle); + break; + + case ContainerType.Random: + yield return PlayRandom(container, volumeScale, handle); + break; + } + } + + // ───────────────────────────────────────────── + // Blend(同时播放) + // ───────────────────────────────────────────── + + IEnumerator PlayBlend(MusicContainer container, float volumeScale, ContainerPlayHandle handle) + { + // 同时启动所有子元素,等待全部结束 + var childHandles = new List(); + bool allDone = false; + int remaining = container.Segments.Count; + + foreach (uint segId in container.Segments) + { + if (handle.Cancelled) yield break; + + ContainerPlayHandle childHandle = PlayChild(segId, volumeScale, () => + { + remaining--; + if (remaining <= 0) allDone = true; + }); + if (childHandle != null) + { + childHandles.Add(childHandle); + handle.ChildHandles.AddRange(childHandles); + } + } + + yield return new WaitUntil(() => allDone || handle.Cancelled); + + if (handle.Cancelled) + { + foreach (var ch in childHandles) + Stop(ch); + } + } + + // ───────────────────────────────────────────── + // Sequence + // ───────────────────────────────────────────── + + IEnumerator PlaySequence(MusicContainer container, float volumeScale, ContainerPlayHandle handle) + { + bool isStep = container.ContainerPlayMode; + + if (isStep) + { + // Step: 每次只播一个,游标全局推进 + int index = GetNextSequenceIndex(container); + yield return PlayChildAndWait(container.Segments[index], volumeScale, handle); + + } + else + { + // Continuous: 顺序播完所有子元素,算一轮 + for (int i = 0; i < container.Segments.Count; i++) + { + if (handle.Cancelled) yield break; + + // StrategyParam 作为两段之间的间隔时间(秒) + if (i > 0 && container.StrategyParam > 0) + yield return new WaitForSeconds(container.StrategyParam); + + yield return PlayChildAndWait(container.Segments[i], volumeScale, handle); + } + } + } + + // ───────────────────────────────────────────── + // Random + // ───────────────────────────────────────────── + + IEnumerator PlayRandom(MusicContainer container, float volumeScale, ContainerPlayHandle handle) + { + bool isStep = container.ContainerPlayMode; // 同上,音乐系统默认 Continuous + + if (isStep) + { + // Step Random: 随机选一个播放,算一次 loopCount + uint chosen = PickRandomChild(container); + yield return PlayChildAndWait(chosen, volumeScale, handle); + } + else + { + // Continuous Random: 随机不放回地播完所有子元素,算一轮 + var remaining = new List(container.Segments); + + while (remaining.Count > 0) + { + if (handle.Cancelled) yield break; + + int idx = Random.Range(0, remaining.Count); + uint chosen = remaining[idx]; + remaining.RemoveAt(idx); + + if (container.StrategyParam > 0 && remaining.Count < container.Segments.Count - 1) + yield return new WaitForSeconds(container.StrategyParam); + + yield return PlayChildAndWait(chosen, volumeScale, handle); + } + } + } + + // ───────────────────────────────────────────── + // 子元素分发(Segment 或嵌套 Container) + // ───────────────────────────────────────────── + + /// + /// 播放一个子元素(segment 或 container),等待其完成后返回。 + /// + IEnumerator PlayChildAndWait(uint id, float volumeScale, ContainerPlayHandle parentHandle) + { + bool done = false; + ContainerPlayHandle child = PlayChild(id, volumeScale, () => done = true); + if (child != null) + parentHandle.ChildHandles.Add(child); + + yield return new WaitUntil(() => done || parentHandle.Cancelled); + + if (parentHandle.Cancelled && child != null) + Stop(child); + } + + /// + /// 启动一个子元素的播放,不等待,返回句柄。 + /// + ContainerPlayHandle PlayChild(uint id, float volumeScale, System.Action onDone) + { + // ID < 1000000 是 MusicSegment,否则是嵌套 Container + return id < 1000000u ? PlaySegment(id, volumeScale, onDone) : Play(id, onDone); + } + + // ───────────────────────────────────────────── + // Segment 播放 + // ───────────────────────────────────────────── + + ContainerPlayHandle PlaySegment(uint segmentId, float volumeScale, System.Action onFinished) + { + MusicSegment segment = this.m_segmentConfig.QueryById(segmentId); + if (segment == null) + { + Debug.LogError($"[MusicContainerPlayer] 找不到 SegmentId: {segmentId}"); + onFinished?.Invoke(); + return null; + } + + AudioClip clip = Resources.Load($"Audios/{segment.Name}"); + if (!clip) + { + Debug.LogError($"[MusicContainerPlayer] 音频文件未找到: {segment.Name}"); + onFinished?.Invoke(); + return null; + } + + AudioSource source = this.m_pool.AcquireAudioSource(); + source.clip = clip; + source.loop = false; + source.volume = volumeScale; + source.Play(); + + var handle = new ContainerPlayHandle(); + handle.ActiveSources.Add(source); + handle.Coroutine = this.m_coroutineHost.StartCoroutine( + WaitSegmentFinish(source, handle, onFinished)); + return handle; + } + + IEnumerator WaitSegmentFinish(AudioSource source, ContainerPlayHandle handle, System.Action onFinished) + { + yield return new WaitWhile(() => source.isPlaying && !handle.Cancelled); + + + source.Stop(); + ReturnSource(source); + handle.ActiveSources.Remove(source); + if (!handle.Cancelled) + onFinished?.Invoke(); + } + + // ───────────────────────────────────────────── + // 工具 + // ───────────────────────────────────────────── + + void ReturnSource(AudioSource source) + { + source.Stop(); + this.m_pool.ReturnToPool(source.gameObject); + } + + int GetNextSequenceIndex(MusicContainer container) + { + int current = this.m_sequenceStepIndex.GetValueOrDefault(container.Id, 0); + this.m_sequenceStepIndex[container.Id] = (current + 1) % container.Segments.Count; + return current; + } + + uint PickRandomChild(MusicContainer container) + { + if (!this.m_randomHistory.TryGetValue(container.Id, out HashSet history)) + { + history = new HashSet(); + this.m_randomHistory[container.Id] = history; + } + + List available = container.Segments.Where(id => !history.Contains(id)).ToList(); + if (available.Count == 0) + { + history.Clear(); + available = new List(container.Segments); + } + + uint chosen = available[Random.Range(0, available.Count)]; + history.Add(chosen); + return chosen; + } + } + + // ───────────────────────────────────────────── + // 播放句柄 + // ───────────────────────────────────────────── + + /// + /// 一次 Container 播放的句柄,用于外部停止或淡出时访问正在播放的 AudioSource。 + /// + public class ContainerPlayHandle + { + public Coroutine Coroutine; + public bool Cancelled; + public float TargetVolume = 1f; + public List ActiveSources = new(); + public List ChildHandles = new(); + + /// + /// 递归收集所有正在发声的 AudioSource(用于淡出) + /// + public void CollectActiveSources(List result) + { + result.AddRange(this.ActiveSources); + foreach (ContainerPlayHandle child in this.ChildHandles) + child.CollectActiveSources(result); + } + } +} diff --git a/Assets/Scripts/OCES/Audio/HandWritten/MusicContainerPlayer.cs.meta b/Assets/Scripts/OCES/Audio/HandWritten/MusicContainerPlayer.cs.meta new file mode 100644 index 0000000..1ea4e17 --- /dev/null +++ b/Assets/Scripts/OCES/Audio/HandWritten/MusicContainerPlayer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 860a68dfcf02146c2b41351d6a887df9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/OCES/Audio/HandWritten/MusicStateRouter.cs b/Assets/Scripts/OCES/Audio/HandWritten/MusicStateRouter.cs new file mode 100644 index 0000000..3b5966c --- /dev/null +++ b/Assets/Scripts/OCES/Audio/HandWritten/MusicStateRouter.cs @@ -0,0 +1,154 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace OCES.Audio +{ + /// + /// 维护当前激活的游戏状态,在状态变化时全量匹配 Path 表,返回应当播放的 ContainerId。 + /// + public class MusicStateRouter + { + // key: StateGroup enum Type,value: 当前激活的 enum 整数值 + readonly Dictionary m_activeStates = new(); + + readonly MusicPathConfig m_musicPaths; + readonly AmbiencePathConfig m_ambiencePaths; + + // 上一次匹配到的 PathId,用于 Transition 表的 FromPathId 查询 + public uint LastMusicPathId { get; private set; } + public uint LastAmbiencePathId { get; private set; } + + public MusicStateRouter(MusicPathConfig musicPaths, AmbiencePathConfig ambiencePaths) + { + this.m_musicPaths = musicPaths; + this.m_ambiencePaths = ambiencePaths; + } + + /// + /// 更新某个 StateGroup 的当前值,并重新全量匹配两张 Path 表。 + /// + public void SetState(TEnum state, out uint musicContainerId, out uint ambienceContainerId) + where TEnum : Enum + { + // Dictionary 天然保证同一 StateGroup 只保留最新值,直接覆盖即可 + this.m_activeStates[typeof(TEnum)] = Convert.ToInt32(state); + + musicContainerId = MatchBestPath(this.m_musicPaths.MusicPathList(), out uint musicPathId); + ambienceContainerId = MatchBestPath(this.m_ambiencePaths.AmbiencePathList(), out uint ambiencePathId); + + LastMusicPathId = musicPathId; + LastAmbiencePathId = ambiencePathId; + } + + // ───────────────────────────────────────────── + // 内部匹配逻辑 + // ───────────────────────────────────────────── + + /// + /// 遍历路径列表,找到所有满足当前状态的规则,返回 priority 最小(最高优先级)的那条的 ContainerId。 + /// + uint MatchBestPath(List paths, out uint matchedPathId) where T : IPathEntry + { + IPathEntry best = null; + foreach (T path in paths) + { + if (PathMatches(path.Path) && (best == null || path.Priority < best.Priority)) + best = path; + } + + if (best != null) + { + matchedPathId = best.Id; + return best.ContainerId; + } + + matchedPathId = 0; + return 0; + } + + /// + /// 解析 path 字符串,判断当前激活状态是否满足该条规则。 + /// 格式:TypeID1,子状态|TypeID2,子状态…… + /// 规则中的每一个条件都必须满足(AND 关系)。 + /// + bool PathMatches(string pathStr) + { + if (string.IsNullOrEmpty(pathStr)) + return true; // 空 path 视为无条件匹配(默认兜底规则) + + string[] conditions = pathStr.Split('|'); + foreach (string condition in conditions) + { + string[] parts = condition.Split(','); + if (parts.Length != 2) + { + Debug.LogWarning($"[MusicStateRouter] Path格式错误: '{condition}'"); + return false; + } + + if (!int.TryParse(parts[0].Trim(), out int typeId) || + !int.TryParse(parts[1].Trim(), out int stateValue)) + { + Debug.LogWarning($"[MusicStateRouter] Path解析失败: '{condition}'"); + return false; + } + + bool conditionMet = false; + foreach (KeyValuePair kv in this.m_activeStates) + { + if (StateGroupRegistry.GetTypeId(kv.Key) != typeId || kv.Value != stateValue) + continue; + conditionMet = true; + break; + } + + if (!conditionMet) + return false; + } + + return true; + } + } + + // ───────────────────────────────────────────── + // StateGroup 注册表:将 enum Type 映射为策划表中填写的 TypeId 整数 + // ───────────────────────────────────────────── + + /// + /// 程序员在此注册所有 StateGroup enum 与其对应 TypeId 的映射关系。 + /// 策划在 MusicPath.path 字段中填写的 TypeId 数字必须与此处一致。 + /// + public static class StateGroupRegistry + { + static readonly Dictionary s_typeIdMap = new(); + + public static void Register(int typeId) where TEnum : Enum + { + s_typeIdMap[typeof(TEnum)] = typeId; + } + + public static int GetTypeId(Type enumType) + { + if (s_typeIdMap.TryGetValue(enumType, out int id)) + return id; + Debug.LogWarning($"[StateGroupRegistry] 未注册的StateGroup类型: {enumType.Name},请调用StateGroupRegistry.Register()"); + return -1; + } + } + + // ───────────────────────────────────────────── + // 辅助接口,让泛型方法同时处理 MusicPath 和 AmbiencePath + // ───────────────────────────────────────────── + + public interface IPathEntry + { + uint Id { get; } + string Path { get; } + uint ContainerId { get; } + int Priority { get; } + } + + public partial class MusicPath : IPathEntry { } + public partial class AmbiencePath : IPathEntry { } +} \ No newline at end of file diff --git a/Assets/Scripts/OCES/Audio/HandWritten/MusicStateRouter.cs.meta b/Assets/Scripts/OCES/Audio/HandWritten/MusicStateRouter.cs.meta new file mode 100644 index 0000000..f845f91 --- /dev/null +++ b/Assets/Scripts/OCES/Audio/HandWritten/MusicStateRouter.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c82693d4d73e64daf9bbd6854a818dc8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/OCES/Audio/HandWritten/MusicSystem.cs b/Assets/Scripts/OCES/Audio/HandWritten/MusicSystem.cs new file mode 100644 index 0000000..3ce82ad --- /dev/null +++ b/Assets/Scripts/OCES/Audio/HandWritten/MusicSystem.cs @@ -0,0 +1,58 @@ +using System; +using UnityEngine; + +namespace OCES.Audio +{ + /// + /// 音乐与环境音系统。由 AudioSystem 持有并初始化。 + /// 对外只暴露 OnStateChanged,由 AudioSystem.SetState 转发调用。 + /// + public class MusicSystem : MonoBehaviour + { + MusicStateRouter m_stateRouter; + MusicChannelPlayer m_musicChannel; + AmbienceChannelPlayer m_ambienceChannel; + + // 记录上一次两个通道各自匹配到的 PathId,用于查 Transition 表 + uint m_lastMusicPathId; + uint m_lastAmbiencePathId; + + public void Initialize( + MusicSegmentConfig segments, + MusicContainerConfig containers, + MusicPathConfig musicPaths, + AmbiencePathConfig ambiencePaths, + MusicTransitionConfig musicTransitions, + AmbienceTransitionConfig ambienceTransitions, + AudioSourcePool musicPool, + AudioSourcePool ambiencePool) + { + MusicContainerPlayer musicContainerPlayer = new(containers, segments, musicPool, this); + MusicContainerPlayer ambientContainerPlayer = new(containers, segments, ambiencePool, this); + + this.m_stateRouter = new MusicStateRouter(musicPaths, ambiencePaths); + this.m_musicChannel = new MusicChannelPlayer(containers, musicTransitions, musicContainerPlayer, this); + this.m_ambienceChannel = new AmbienceChannelPlayer(ambienceTransitions, ambientContainerPlayer, this); + } + + /// + /// 由 AudioSystem.SetState 调用,更新状态并驱动两个通道切换。 + /// + public void OnStateChanged(TEnum state) where TEnum : Enum + { + this.m_stateRouter.SetState( + state, + out uint musicContainerId, + out uint ambienceContainerId); + + uint newMusicPathId = this.m_stateRouter.LastMusicPathId; + uint newAmbiencePathId = this.m_stateRouter.LastAmbiencePathId; + + this.m_musicChannel.SwitchTo(musicContainerId, this.m_lastMusicPathId, newMusicPathId); + this.m_ambienceChannel.SwitchTo(ambienceContainerId, this.m_lastAmbiencePathId, newAmbiencePathId); + + this.m_lastMusicPathId = newMusicPathId; + this.m_lastAmbiencePathId = newAmbiencePathId; + } + } +} diff --git a/Assets/Scripts/OCES/Audio/HandWritten/MusicSystem.cs.meta b/Assets/Scripts/OCES/Audio/HandWritten/MusicSystem.cs.meta new file mode 100644 index 0000000..dffbfb3 --- /dev/null +++ b/Assets/Scripts/OCES/Audio/HandWritten/MusicSystem.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 936ca15cb5c944ca99e98fece679861e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/OCES/Audio/HandWritten/PitchStepManager.cs b/Assets/Scripts/OCES/Audio/HandWritten/PitchStepManager.cs new file mode 100644 index 0000000..c1482a3 --- /dev/null +++ b/Assets/Scripts/OCES/Audio/HandWritten/PitchStepManager.cs @@ -0,0 +1,34 @@ +using System.Collections.Generic; +using UnityEngine; + +namespace OCES.Audio +{ + public class PitchStepManager + { + readonly Dictionary m_pitchStepCounts = new(); + readonly Dictionary m_pitchStepLastTime = new(); + + internal float ResolvePitch(AudioObject audioObject, double time) + { + if (audioObject.PitchStep == 0 || audioObject.PitchStepThreshold == 0) //没配置PitchStep + { + return 1f; + } + + // 超时了,或者没播过 + if (!this.m_pitchStepLastTime.TryGetValue(audioObject.Id, out double lastPitchStepTime) + || time - lastPitchStepTime > audioObject.PitchStepThreshold) + { + this.m_pitchStepCounts[audioObject.Id] = 0; + this.m_pitchStepLastTime[audioObject.Id] = time; + return 1f; + } + + //命中了 + int pitchStepCount = this.m_pitchStepCounts[audioObject.Id]; + pitchStepCount = this.m_pitchStepCounts[audioObject.Id] = Mathf.Min(pitchStepCount + 1, audioObject.PitchStepLimit); + this.m_pitchStepLastTime[audioObject.Id] = time; + return Mathf.Pow(2, audioObject.PitchStep * pitchStepCount / 12f); + } + } +} diff --git a/Assets/Scripts/OCES/Audio/HandWritten/PitchStepManager.cs.meta b/Assets/Scripts/OCES/Audio/HandWritten/PitchStepManager.cs.meta new file mode 100644 index 0000000..17aeb02 --- /dev/null +++ b/Assets/Scripts/OCES/Audio/HandWritten/PitchStepManager.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: df0d032c5bdd48ee8f7575ca11b3667f +timeCreated: 1773749175 \ No newline at end of file diff --git a/Assets/Scripts/OCES/ButtonInvoker.cs b/Assets/Scripts/OCES/ButtonInvoker.cs new file mode 100644 index 0000000..1005bb4 --- /dev/null +++ b/Assets/Scripts/OCES/ButtonInvoker.cs @@ -0,0 +1,30 @@ +using UnityEngine; +using UnityEngine.UI; +using OCES.Audio; + +namespace OCES +{ + public class ButtonInvoker : MonoBehaviour + { + public GameState targetGameState; + + Button m_button; + + void Awake() + { + this.m_button = GetComponent