Example #1
0
 void Awake()
 {
     if (instanceE == null) {
         DontDestroyOnLoad (this.gameObject);
         instanceE = this;
     } else
         Destroy (this.gameObject);
 }
Example #2
0
        public static void PlaySong(string name, bool loop, bool queue)
        {
            return;
            _mutex.WaitOne();
            if (string.IsNullOrWhiteSpace(name))
            {
                _effect = MusicEffect.FadeOut;
                _mutex.ReleaseMutex();
                return;
            }
            else if (name == currentName && !queue)
            {
                _mutex.ReleaseMutex();
                return;
            }
            lock (_queue)
            {
                Song song = null;
                if (_songs.ContainsKey(name))
                {
                    song = _songs[name];
                }
                else
                {
                    try
                    {
                        song = _content.Load<Song>(name);
                        if (song != null)
                            _songs.Add(name, song);
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e);
                    }
                }
                if (queue)
                {
                    SongQueueItem sqi = new SongQueueItem();
                    sqi.song = song;
                    sqi.loop = loop;
                    _queue.Add(sqi);
                }
                else
                {

                    MediaPlayer.Volume = 0;
                    _effect = MusicEffect.FadeIn;
                    MediaPlayer.IsRepeating = loop;
                    MediaPlayer.Stop();
                    MediaPlayer.Play(song);
                    Restarted = true;
                    currentName = name;
                }
            }
            _mutex.ReleaseMutex();
        }
Example #3
0
    void DrawButton()
    {
        if (isShow)
        {
            Time.timeScale = 0;
        }
        //if(isShow)
        {
            //Draw background
            GUI.DrawTexture(new Rect(maxRight, -Screen.height / 20.0f, Screen.width / 4.0f, Screen.height * 1.1f), boxBg);
            //Draw level label
            GUI.Label(new Rect(maxButtonRight + Screen.width / 8 - 75, Screen.height / 8f, 150, Screen.height / 12f), "");
            //Calculate buttons' width
            scaleWidth = Screen.height / 6f;
            //Draw list levels button
            if (GUI.Button(new Rect(maxButtonRight + Screen.width / 8 - scaleWidth / 2, Screen.height * 2 / 10.0f, scaleWidth, scaleWidth), textures[0], "trans_button"))
            {
                Debug.Log("menu");
                Time.timeScale = 1;
                GameplayScript.DoChooseLevels();
                isShow = false;

                //--------------------------------
                //Load list level in here
                //--------------------------------
            }
            //Draw replay button
            if (GUI.Button(new Rect(maxButtonRight + Screen.width / 8 - scaleWidth / 2, Screen.height * 4 / 10.0f, scaleWidth, scaleWidth), textures[1], "trans_button"))
            {
                Debug.Log("restart");
                Time.timeScale = 1;
                GameplayScript.DoReplay();
                isShow = false;

                //------------------------------
                //Do replay function in here
                //-----------------------------
            }
            //Draw sound button
            Texture soundButton = SoundEffect.isMute?textures[2]:textures[3];
            if (GUI.Button(new Rect(maxButtonRight + Screen.width / 8 - scaleWidth / 2, Screen.height * 6 / 10.0f, scaleWidth, scaleWidth), new GUIContent(soundButton), "trans_button"))
            {
                Debug.Log("som");
                Time.timeScale     = 1;
                isShow             = false;
                SoundEffect.isMute = !SoundEffect.isMute;
                if (!SoundEffect.isMute)
                {
                    SoundEffect.Stop();
                }
                else
                {
                    SoundEffect.Play(Sound.tone);
                }
                MusicEffect.isMute = !MusicEffect.isMute;
                if (MusicEffect.isMute)
                {
                    MusicEffect.Stop();
                }
                else
                {
                    MusicEffect.Play(Music.tone);
                }
            }
            //Draw how to play button
            Texture helpButton = textures[4];
            if (GUI.Button(new Rect(maxButtonRight + Screen.width / 16 - scaleWidth / 2, Screen.height * 8 / 10.0f, scaleWidth, scaleWidth), new GUIContent(helpButton), "trans_button"))
            {
                Debug.Log("?");

                //isShow = false;
                isShowHelp = true;
            }
            //Draw info button
            Texture infoButton = textures[5];
            if (GUI.Button(new Rect(maxButtonRight + Screen.width * 3 / 16 - scaleWidth / 2, Screen.height * 8 / 10.0f, scaleWidth, scaleWidth), new GUIContent(infoButton), "trans_button"))
            {
                Debug.Log("!");
                Time.timeScale = 1;
                isShow         = false;
                //Application.OpenURL("http://www.odigamestudio.com");
            }
            //Draw transparent area
            if (isShow && GUI.Button(new Rect(maxLeft, 0, Screen.width * 3 / 4.0f, Screen.height), "", "trans_button"))
            {
                Debug.Log("fora");
                Time.timeScale = 1;
                isShow         = false;
            }
        }
        //Draw pauseButton
        if (GUI.Button(new Rect(5, 5, scaleWidth * 5 / 7f, scaleWidth * 5 / 7f), pauseButton, "trans_button"))
        {
            Debug.Log("pause");
            isShow         = !isShow;
            Time.timeScale = 1;
        }
    }
Example #4
0
 public MusicTuple(MusicInput input, MusicEffect effect, MusicOutput output)
 {
     this.input  = input;
     this.effect = effect;
     this.output = output;
 }
Example #5
0
 static void SongStopped(object state, EventArgs args)
 {
     return;
     if (MediaPlayer.State == MediaState.Stopped)
     {
         if (_queue.Count > 0)
         {
             MediaPlayer.IsRepeating = _queue[0].loop;
             MediaPlayer.Play(_queue[0].song);
             currentName = _queue[0].song.Name;
             if (MediaPlayer.Volume == 0)
             {
                 _effect = MusicEffect.FadeIn;
             }
             _queue.RemoveAt(0);
         }
     }
 }
Example #6
0
        public static void Update(float ms)
        {
            return;
            _mutex.WaitOne();
            lock (_queue)
            {
                switch (_effect)
                {
                    case MusicEffect.FadeIn: MediaPlayer.Volume += ms / 2000f * maxVolume; if (MediaPlayer.Volume >= maxVolume) { MediaPlayer.Volume = maxVolume; _effect = MusicEffect.None; } break;
                    case MusicEffect.FadeOut: MediaPlayer.Volume -= ms / 2000f * maxVolume; if (MediaPlayer.Volume <= 0) { MediaPlayer.Volume = 0; MediaPlayer.Stop(); _effect = MusicEffect.None; } break;
                }
                FrameworkDispatcher.Update();
                if (!Restarted && MediaPlayer.State == MediaState.Stopped)
                {
                    if (_queue.Count > 0)
                    {
                        MediaPlayer.IsRepeating = _queue[0].loop;
                        MediaPlayer.Stop();
                        MediaPlayer.Play(_queue[0].song);
                        currentName = _queue[0].song.Name;
                        if (MediaPlayer.Volume == 0)
                        {
                            _effect = MusicEffect.FadeIn;
                        }
                        _queue.RemoveAt(0);
                        Restarted = true;
                    }
                }
                else if (Restarted && MediaPlayer.State == MediaState.Playing)
                {
                    Restarted = false;
                }

            }
            _mutex.ReleaseMutex();
        }