Example #1
0
 IEnumerator coMission()
 {
     coDoing = true;
     while (m_Missions.Count > 0)
     {
         missionInfo msInfo = m_Missions[0];
         m_Missions.RemoveAt(0);
         if (msInfo.isPlay)
         {
             if (m_CurrPackname == msInfo.packname && m_CurrClipname == msInfo.clipname)
             {
                 continue;//播放的和当前是同一首
             }
         }
         //当前背景音淡出
         if (m_CurrBackgroundMusic != null)
         {
             CoroutineManage.Single.StartCoroutine(coFadeOutBackgroundMusic(m_CurrPackname, m_CurrBackgroundMusic, msInfo.fadeOutTime));
             m_CurrBackgroundMusic = null;
             m_CurrPackname        = "";
             m_CurrClipname        = "";
         }
         //播放新的背景音
         if (msInfo.isPlay)
         {
             IEnumerator it = _coPlay(msInfo.packname, msInfo.clipname, msInfo.fadeOutTime);
             while (it.MoveNext())
             {
                 yield return(null);
             }
         }
     }
     coDoing = false;
 }
Example #2
0
    //终止播放背景音
    public void Stop(float fadeOutTime)
    {
        missionInfo newMission = new missionInfo();

        newMission.isPlay      = false;
        newMission.fadeOutTime = fadeOutTime;
        AddMission(newMission);
    }
Example #3
0
 void AddMission(missionInfo info)
 {
     m_Missions.Add(info);
     if (coDoing == false)
     {
         CoroutineManage.Single.StartCoroutine(coMission());
     }
 }
Example #4
0
    //播放背景音乐
    public void Play(string packname, string clipname, float fadeOutTime)
    {
        missionInfo newMission = new missionInfo();

        newMission.isPlay      = true;
        newMission.packname    = packname;
        newMission.clipname    = clipname;
        newMission.fadeOutTime = fadeOutTime;
        AddMission(newMission);
    }