static public void GenerateSAEsFromFolder() { if (Selection.objects.Length == 0) { return; } string pathTemplate = "Assets/ScriptableObjects/Audio/{0}.asset"; foreach (UnityEngine.Object obj in Selection.objects) { if (!(obj is AudioClip)) { continue; } AudioClip clip = (AudioClip)obj; SimpleAudioEvent sae = new SimpleAudioEvent(); sae.clips = new AudioClip[1]; sae.clips[0] = clip; string saeName = clip.name.Replace("sfx_", "sae_"); string pathAsset = String.Format(pathTemplate, saeName); AssetDatabase.CreateAsset(sae, pathAsset); } }
public void TestSimpleAudioEvent() { // Arrange UTKAudioMock aSource = new UTKAudioMock(); SimpleAudioEvent evt = ScriptableObject.CreateInstance <SimpleAudioEvent>(); evt.volume = new RangedFloat(.5f, .75f); evt.maxDistance = 2; evt.minDistance = 1; evt.pitch = new RangedFloat(.5f, .75f); evt.rolloffMode = AudioRolloffMode.Linear; bool playWasCalled = false; bool playWasLooped = false; AudioClip playedAudioClip = null; aSource.onPlay += (clip, loop) => { playWasCalled = true; playWasLooped = loop; playedAudioClip = clip; }; // Act evt.Play(aSource, false); // Assert Assert.IsTrue(aSource.volume >= evt.volume.minValue && aSource.volume <= evt.volume.maxValue); Assert.IsTrue(aSource.pitch >= evt.pitch.minValue && aSource.pitch <= evt.pitch.maxValue); Assert.AreEqual(evt.minDistance, aSource.minDistance); Assert.AreEqual(evt.maxDistance, aSource.maxDistance); Assert.AreEqual(evt.rolloffMode, aSource.rolloffMode); Assert.IsTrue(playWasCalled); Assert.IsFalse(playWasLooped); Assert.AreEqual(evt.clip, playedAudioClip); // Clean up playWasCalled = playWasLooped = false; playedAudioClip = null; // Act again (looped this time) evt.Play(aSource, true); // Assert Assert.IsTrue(aSource.volume >= evt.volume.minValue && aSource.volume <= evt.volume.maxValue); Assert.IsTrue(aSource.pitch >= evt.pitch.minValue && aSource.pitch <= evt.pitch.maxValue); Assert.AreEqual(evt.minDistance, aSource.minDistance); Assert.AreEqual(evt.maxDistance, aSource.maxDistance); Assert.AreEqual(evt.rolloffMode, aSource.rolloffMode); Assert.IsTrue(playWasCalled); Assert.IsTrue(playWasLooped); Assert.AreEqual(evt.clip, playedAudioClip); }
public override void OnInspectorGUI() { DrawDefaultInspector(); EditorGUI.BeginDisabledGroup(serializedObject.isEditingMultipleObjects); if (GUILayout.Button("Preview")) { SimpleAudioEvent simpleTarget = (SimpleAudioEvent)target; simpleTarget.Play(previewSource); } EditorGUI.EndDisabledGroup(); }
public override void OnInspectorGUI() { DrawDefaultInspector(); SimpleAudioEvent myinspectorButton = (SimpleAudioEvent)target; if (GUILayout.Button("Raise()")) { //if (myinspectorButton.thisAudioSource != null) // myinspectorButton.Play(myinspectorButton.thisAudioSource); //else // Debug.LogWarning("Yoo, add a AudioSource to play"); // myinspectorButton.PlayInEditor(); } }
public void Play(SimpleAudioEvent simpleAudioEvent) { var source = Get(); simpleAudioEvent.Play(source); }
public void PlayAudioEvent(SimpleAudioEvent audioEvent) { _pool.Play(audioEvent); }
public override void OnInspectorGUI() { _target = (SimpleAudioEvent)target; base.OnInspectorGUI(); }