Exemplo n.º 1
0
    public void PlayBGM()
    {
        bool startFlag = false;

        CriAtomSource.Status status = atomSourceBgm.status;
        if ((status == CriAtomSource.Status.Stop) || (status == CriAtomSource.Status.PlayEnd))
        {
            this.playbackBGM = atomSourceBgm.Play(100);
            startFlag        = true;
        }

        /*	Move to the next block except for the first playback. */
        if (startFlag == false)
        {
            int          cur = this.playbackBGM.GetCurrentBlockIndex();
            CriAtomExAcb acb = CriAtom.GetAcb("PinballMain");
            if (acb != null)
            {
                acb.GetCueInfo("BGM", out this.cueInfo);

                cur++;
                if (this.cueInfo.numBlocks > 0)
                {
                    this.playbackBGM.SetNextBlockIndex(cur % this.cueInfo.numBlocks);
                }
            }
        }
    }
Exemplo n.º 2
0
    public override void ProcessFrame(Playable playable, FrameData info, object playerData)
    {
        m_AtomSource = playerData as CriAtomSource;

        if (m_AtomSource == null)
        {
            return;
        }

        float inputWeight = 0;
        int   inputCount  = playable.GetInputCount();

        for (int i = 0; i < inputCount; i++)
        {
            inputWeight = playable.GetInputWeight(i);

            if (inputWeight == 1)
            {
                ScriptPlayable <PlaybackCueBehaviour> inputPlayable = (ScriptPlayable <PlaybackCueBehaviour>)playable.GetInput(i);
                PlaybackCueBehaviour input = inputPlayable.GetBehaviour();

                if (input.cueName != String.Empty)
                {
                    m_AtomSource.cueName = input.cueName;
                }

                CriAtomSource.Status status = m_AtomSource.status;
                if ((status == CriAtomSource.Status.Stop) || (status == CriAtomSource.Status.PlayEnd))
                {//停止かエンドか
                    m_AtomSource.Play();
                }
            }
        }
    }
Exemplo n.º 3
0
 public void ResumeBGM()
 {
     /* Play if the status is in the PlayEnd or the Stop. (automatically restart when ACB is updated) */
     CriAtomSource.Status status = atomSourceBgm.status;
     if ((status == CriAtomSource.Status.Stop) || (status == CriAtomSource.Status.PlayEnd))
     {
         /* Play */
         PlayBGM();
     }
 }
Exemplo n.º 4
0
 public void PlayAndStopSound()
 {
     if (atomSrc != null)
     {
         CriAtomSource.Status status = atomSrc.status;
         if ((status == CriAtomSource.Status.Stop) || (status == CriAtomSource.Status.PlayEnd))
         {
             atomSrc.Play();
         }
         else
         {
             atomSrc.Stop();
         }
     }
 }
Exemplo n.º 5
0
 public void PlayAndStopSound()
 {
     if (atomSrc != null)
     {
         /* CriAtomSource の状態を取得 */
         CriAtomSource.Status status = atomSrc.status;
         if ((status == CriAtomSource.Status.Stop) || (status == CriAtomSource.Status.PlayEnd))
         {
             /* 停止状態なので再生 */
             atomSrc.Play();
         }
         else
         {
             /* 再生中なので停止 */
             atomSrc.Stop();
         }
     }
 }