Exemple #1
0
    /// <summary> 指定した ID の <see cref="AudioClip"/> を使って再生する </summary>
    /// <param name="volume"> 音量を指定 (0.0 ~ 1.0) </param>
    /// <param name="isLoop"> true = ループ再生を許可 </param>
    public void Play(int index, float volume, bool isLoop)
    {
        if (_sourceObject == null)
        {
            Bind();
        }

        // TIPS: AudioSource の取得を試みる
        AudioSource source  = null;
        var         success = _sourceObject.GetSource(out source);

        if (!success && isAdditive)
        {
            source = AddSource();
        }

        // TIPS: AudioSource が取得できなければスキップ
        if (source == null)
        {
            return;
        }

        source.clip   = table.GetClip(index);
        source.volume = volume;
        source.loop   = isLoop;
        source.Play();

        AutoRelease();
    }