Esempio n. 1
0
    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);
        }
    }
Esempio n. 2
0
        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();
    }
Esempio n. 4
0
    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();
        }
    }
Esempio n. 5
0
    public void Play(SimpleAudioEvent simpleAudioEvent)
    {
        var source = Get();

        simpleAudioEvent.Play(source);
    }
Esempio n. 6
0
 public void PlayAudioEvent(SimpleAudioEvent audioEvent)
 {
     _pool.Play(audioEvent);
 }
Esempio n. 7
0
 public override void OnInspectorGUI()
 {
     _target = (SimpleAudioEvent)target;
     base.OnInspectorGUI();
 }