Пример #1
0
        private void UpdateMusicButtonLabel()
        {
            var demo = (DemoReel)RB.Game;

            if (RB.MusicIsPlaying())
            {
                mMusicTurnSpeed        = 50;
                mMusicPlayButton.Label = "H - Stop";
            }
            else
            {
                mMusicPlayButton.Label = "H - Play";
            }
        }
Пример #2
0
        private void MusicButtonPressedCB(Button button, object userData)
        {
            var demo = (DemoReel)RB.Game;

            if (button == mMusicPlayButton)
            {
                if (!RB.MusicIsPlaying())
                {
                    demo.MusicPlay();
                    mMusicTurnSpeed = 50;
                }
                else
                {
                    demo.MusicStop();
                }
            }

            UpdateMusicButtonLabel();
        }
Пример #3
0
        /// <summary>
        /// Update
        /// </summary>
        public override void Update()
        {
            var demo = (DemoReel)RB.Game;

            for (int i = mFadeSounds.Count - 1; i >= 0; i--)
            {
                var soundRef = mFadeSounds[i];
                RB.SoundVolumeSet(soundRef, RB.SoundVolumeGet(soundRef) * 0.75f);

                if (RB.SoundVolumeGet(soundRef) < 0.01f)
                {
                    mFadeSounds.RemoveAt(i);
                }
            }

            if (!RB.MusicIsPlaying())
            {
                mMusicTurnSpeed--;
                if (mMusicTurnSpeed < 0)
                {
                    mMusicTurnSpeed = 0;
                }
            }

            mMusicTicks += mMusicTurnSpeed;

            for (int i = 0; i < mPianoButtons.Length; i++)
            {
                mPianoButtons[i].Update();
                if (mPianoButtons[i].Pressed)
                {
                    break;
                }
            }

            for (int i = 0; i < mEffectButtons.Length; i++)
            {
                mEffectButtons[i].Update();
                if (mEffectButtons[i].Pressed)
                {
                    break;
                }
            }

            mMusicPlayButton.Update();
            mPositionalButton.Update();

            mNextButton.Update();
            mPrevButton.Update();

            int color = 1;

            if ((RB.Ticks % 200 > 170 && RB.Ticks % 200 < 180) || (RB.Ticks % 200) > 190)
            {
                color = 5;
            }

            mNextButton.LabelColor = color;
            mPrevButton.LabelColor = color;

            if (RB.ButtonPressed(RB.BTN_SYSTEM))
            {
                Application.Quit();
            }

            mListenerPos = new Vector2i(330 + (Mathf.Sin(mPositionalTicks / 50.0f) * 100), (RB.DisplaySize.height / 2) + 32);

            if (mPositionalPlaying)
            {
                mSoundPos = RB.PointerPos();
                RB.SoundPosSet(mPosSoundRef, mSoundPos);
            }

            RB.SoundListenerPosSet(mListenerPos);

            var positionalVol = RB.SoundVolumeGet(mPosSoundRef);

            // Change music volume to inverse of waterfall volume
            if (demo.IsMusicPlaying())
            {
                RB.MusicVolumeSet((1.0f - positionalVol) * demo.MusicVolume());
            }

            if (mPositionalPlaying)
            {
                mPositionalTicks++;

                positionalVol += 0.05f;
                if (positionalVol > 1)
                {
                    positionalVol = 1;
                }

                RB.SoundVolumeSet(mPosSoundRef, positionalVol);
            }
            else
            {
                positionalVol -= 0.05f;
                if (positionalVol < 0)
                {
                    positionalVol = 0;
                }

                RB.SoundVolumeSet(mPosSoundRef, positionalVol);
            }

            UpdateMusicButtonLabel();
            UpdatePositionalButtonLabel();
        }