Skip to content

Commit

Permalink
Add OnPostProcessBuild editor notification sound
Browse files Browse the repository at this point in the history
  • Loading branch information
magicjar committed Dec 1, 2021
1 parent 7efbab8 commit f005c0e
Show file tree
Hide file tree
Showing 8 changed files with 107 additions and 1 deletion.
7 changes: 7 additions & 0 deletions Editor/BuildPipelines/AndroidBuildPipeline.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -105,6 +106,12 @@ static string ReplaceInvalidChars(string source)
return string.Join("_", source.Split(Path.GetInvalidFileNameChars()));
}

static void PlayNotification()
{
AudioClip notifClip = Resources.Load<AudioClip>("Notification");
EditorSFX.PlayClip(notifClip);
}

#region MENU
[MenuItem("Agraris/Build/Android - Development", false, 1)]
public static void DevelopmentAndroidBuild()
Expand Down
8 changes: 8 additions & 0 deletions Editor/Resources.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file added Editor/Resources/Notification.wav
Binary file not shown.
22 changes: 22 additions & 0 deletions Editor/Resources/Notification.wav.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions Editor/Sound.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

50 changes: 50 additions & 0 deletions Editor/Sound/EditorSFX.cs
Original file line number Diff line number Diff line change
@@ -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[] { }
);
}
}
11 changes: 11 additions & 0 deletions Editor/Sound/EditorSFX.cs.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -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",
Expand Down

0 comments on commit f005c0e

Please sign in to comment.