private Button resumeButton;    // Button is just a custom class. Its just a layer with one menu button.

        public override bool init()
        {
            #region Default Code
            if (!base.init())
            {
                return false;
            }

            this.m_bIsTouchEnabled = true;
            size = CCDirector.sharedDirector().getWinSize();

            this.AddCloseButton();
            this.AddLabel();
            this.AddSpriteBackground();
            #endregion

            // create new Layer. Add a Button to it.
            pauseLayer = CCLayerColor.layerWithColorWidthHeight(new ccColor4B(100, 0, 0, 150), 800, 480);
            resumeButton = new Button("Tap to Resume", this, this.resumeButtonClicked);
            resumeButton.position = new CCPoint(400, 240);
            pauseLayer.addChild(resumeButton);

            this.isTouchEnabled = true;
            return true;
        }
        void AddButtons()
        {

            var audio = CCSimpleAudioEngine.SharedEngine;

            var lblMusic = new CCLabel("Control Music", "fonts/arial", 24, CCLabelFormat.SpriteFont);
            AddChildAt(lblMusic, 0.25f, 0.9f);

            var btnPlay = new Button("play");
            btnPlay.Triggered += (sender, e) =>
            {
                audio.BackgroundMusicVolume = sliderMusicVolume.Value;
                audio.PlayBackgroundMusic(MUSIC_FILE, true);
            };
            AddChildAt(btnPlay, 0.1f, 0.75f);

            var btnStop = new Button("stop");
            btnStop.Triggered += (sender, e) =>
            {
                audio.StopBackgroundMusic();
            };
            
            AddChildAt(btnStop, 0.25f, 0.75f);

            var btnRewindMusic = new Button("rewind");
            btnRewindMusic.Triggered += (sender, e) =>
            {
                audio.RewindBackgroundMusic();
            };
            
            AddChildAt(btnRewindMusic, 0.4f, 0.75f);

            var btnPause = new Button("pause");
            btnPause.Triggered += (sender, e) =>
            {
                audio.PauseBackgroundMusic();
            };
            AddChildAt(btnPause, 0.1f, 0.65f);

            var btnResumeMusic = new Button("resume");
            btnResumeMusic.Triggered += (sender, e) =>
            {
                audio.ResumeBackgroundMusic();
            };
            AddChildAt(btnResumeMusic, 0.25f, 0.65f);

            var btnIsPlayingMusic = new Button("is playing");
            btnIsPlayingMusic.Triggered += (sender, e) =>
            {
                if (audio.BackgroundMusicPlaying)
                    CCLog.Log("background music is playing");
                else
                    CCLog.Log("background music is not playing");
            };
            AddChildAt(btnIsPlayingMusic, 0.4f, 0.65f);

            var lblSound = new CCLabel("Control Effects", "fonts/arial", 24, CCLabelFormat.SpriteFont);
            AddChildAt(lblSound, 0.75f, 0.9f);

            var btnPlayEffect = new Button("play");
            btnPlayEffect.Triggered += (sender, e) =>
            {
                var pitch = sliderPitch.Value;
                var pan = sliderPan.Value;
                var gain = sliderGain.Value;
                soundId = audio.PlayEffect(EFFECT_FILE, false);//, pitch, pan, gain);
            };
            AddChildAt(btnPlayEffect, 0.6f, 0.8f);

            var btnPlayEffectInLoop = new Button("play in loop");
            btnPlayEffectInLoop.Triggered += (sender, e) =>
            {
                var pitch = sliderPitch.Value;
                var pan = sliderPan.Value;
                var gain = sliderGain.Value;
                soundId = audio.PlayEffect(EFFECT_FILE, true);//, pitch, pan, gain);
            };
            AddChildAt(btnPlayEffectInLoop, 0.75f, 0.8f);

            var btnStopEffect = new Button("stop");
            btnStopEffect.Triggered += (sender, e) =>
            {
                audio.StopEffect(soundId);
            };
            AddChildAt(btnStopEffect, 0.9f, 0.8f);

            var btnUnloadEffect = new Button("unload");
            btnUnloadEffect.Triggered += (sender, e) =>
            {
                audio.UnloadEffect(EFFECT_FILE);
            };
            AddChildAt(btnUnloadEffect, 0.6f, 0.7f);

            var btnPauseEffect = new Button("pause");
            btnPauseEffect.Triggered += (sender, e) =>
            {
                audio.PauseEffect(soundId);
            };
            AddChildAt(btnPauseEffect, 0.75f, 0.7f);

            var btnResumeEffect = new Button("resume");
            btnResumeEffect.Triggered += (sender, e) =>
            {
                audio.ResumeEffect(soundId);
            };
            AddChildAt(btnResumeEffect, 0.9f, 0.7f);

            var btnPauseAll = new Button("pause all");
            btnPauseAll.Triggered += (sender, e) =>
            {
                audio.PauseAllEffects();
            };
            AddChildAt(btnPauseAll, 0.6f, 0.6f);

            var btnResumeAll = new Button("resume all");
            btnResumeAll.Triggered += (sender, e) =>
            {
                audio.ResumeAllEffects();
            };
            AddChildAt(btnResumeAll, 0.75f, 0.6f);

            var btnStopAll = new Button("stop all");
            btnStopAll.Triggered += (sender, e) =>
            {
                audio.StopAllEffects();
            };
            AddChildAt(btnStopAll, 0.9f, 0.6f);
        }