diff --git a/Editor/BuildPipelines/AndroidBuildPipeline.cs b/Editor/BuildPipelines/AndroidBuildPipeline.cs index a66f063..58ef6c7 100644 --- a/Editor/BuildPipelines/AndroidBuildPipeline.cs +++ b/Editor/BuildPipelines/AndroidBuildPipeline.cs @@ -93,6 +93,7 @@ static string GetBuildPath(BuildType buildType) public void OnPostprocessBuild(BuildReport report) { PlayerSettings.Android.targetArchitectures |= AndroidArchitecture.ARMv7 | AndroidArchitecture.ARM64; + PlayNotification(); } static string RemoveInvalidChars(string source) @@ -105,6 +106,12 @@ static string ReplaceInvalidChars(string source) return string.Join("_", source.Split(Path.GetInvalidFileNameChars())); } + static void PlayNotification() + { + AudioClip notifClip = Resources.Load("Notification"); + EditorSFX.PlayClip(notifClip); + } + #region MENU [MenuItem("Agraris/Build/Android - Development", false, 1)] public static void DevelopmentAndroidBuild() diff --git a/Editor/Resources.meta b/Editor/Resources.meta new file mode 100644 index 0000000..41663a7 --- /dev/null +++ b/Editor/Resources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f0ccc790a01b7514a96f3328cfbe5027 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Editor/Resources/Notification.wav b/Editor/Resources/Notification.wav new file mode 100644 index 0000000..de0a1b1 Binary files /dev/null and b/Editor/Resources/Notification.wav differ diff --git a/Editor/Resources/Notification.wav.meta b/Editor/Resources/Notification.wav.meta new file mode 100644 index 0000000..9b07f7b --- /dev/null +++ b/Editor/Resources/Notification.wav.meta @@ -0,0 +1,22 @@ +fileFormatVersion: 2 +guid: f8a22ee172dfaf6498b3f0e47fe3a681 +AudioImporter: + externalObjects: {} + serializedVersion: 6 + defaultSettings: + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + preloadAudioData: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Editor/Sound.meta b/Editor/Sound.meta new file mode 100644 index 0000000..d5c8b8b --- /dev/null +++ b/Editor/Sound.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6a70f75161fb4d94e955d3899cdc03de +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Editor/Sound/EditorSFX.cs b/Editor/Sound/EditorSFX.cs new file mode 100644 index 0000000..a855f48 --- /dev/null +++ b/Editor/Sound/EditorSFX.cs @@ -0,0 +1,50 @@ +/// Thom_Denick +/// https://forum.unity.com/members/thom_denick.630672/ + +using UnityEngine; +using UnityEditor; +using System; +using System.Reflection; + +public static class EditorSFX +{ + public static void PlayClip(AudioClip clip, int startSample = 0, bool loop = false) + { + Assembly unityEditorAssembly = typeof(AudioImporter).Assembly; + + Type audioUtilClass = unityEditorAssembly.GetType("UnityEditor.AudioUtil"); + MethodInfo method = audioUtilClass.GetMethod( + "PlayPreviewClip", + BindingFlags.Static | BindingFlags.Public, + null, + new Type[] { typeof(AudioClip), typeof(int), typeof(bool) }, + null + ); + + Debug.Log(method); + method.Invoke( + null, + new object[] { clip, startSample, loop } + ); + } + + public static void StopAllClips() + { + Assembly unityEditorAssembly = typeof(AudioImporter).Assembly; + + Type audioUtilClass = unityEditorAssembly.GetType("UnityEditor.AudioUtil"); + MethodInfo method = audioUtilClass.GetMethod( + "StopAllPreviewClips", + BindingFlags.Static | BindingFlags.Public, + null, + new Type[] { }, + null + ); + + Debug.Log(method); + method.Invoke( + null, + new object[] { } + ); + } +} diff --git a/Editor/Sound/EditorSFX.cs.meta b/Editor/Sound/EditorSFX.cs.meta new file mode 100644 index 0000000..1534b9e --- /dev/null +++ b/Editor/Sound/EditorSFX.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 218315fa6f5d45b458c1ac20a17399b1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package.json b/package.json index 4fe809c..8731921 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "com.agraris.core", - "version": "1.0.0-alpha.5", + "version": "1.0.0-alpha.6", "displayName": "Agraris Core", "description": "Agraris tools core components. Intended for internal use.", "unity": "2019.3",