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); } } } }
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(); } } } }
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(); } }
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(); } } }
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(); } } }