Inheritance: UITweener
示例#1
0
	protected override void OnPlayAudioClip (AudioClip clip)
	{
		if (currentAudio == null)
			currentAudio = gameObject.AddComponent<AudioSource>();

		if (clip == currentAudio.clip)
			return;

		//置換下一首
		this.nextClip = clip;
		
		if (currentAudio.isPlaying && !currentAudio.mute)
		{
			if (fadeOutTween == null)
			{
				//FadeOut,TweenVolume到0.01以下會自動關掉聲音,所以改為0.02f
				fadeOutTween = TweenVolume.Begin(gameObject, duration, 0.02f);
				EventDelegate.Set(fadeOutTween.onFinished, FadeOutEndHandler);
			}
		}
		else
		{
			FadeOutEndHandler();
		}
	}
示例#2
0
    public static TweenVolume Begin(GameObject go, float duration, float targetVolume)
    {
        TweenVolume tweenVolume = UITweener.Begin <TweenVolume>(go, duration);

        tweenVolume.from = tweenVolume.value;
        tweenVolume.to   = targetVolume;
        if (targetVolume > 0f)
        {
            tweenVolume.audioSource.enabled = true;
            tweenVolume.audioSource.Play();
        }
        return(tweenVolume);
    }
示例#3
0
    public static TweenVolume Begin(GameObject go, float duration, float targetVolume)
    {
        TweenVolume volume = UITweener.Begin <TweenVolume>(go, duration);

        volume.from = volume.volume;
        volume.to   = targetVolume;
        if (duration <= 0f)
        {
            volume.Sample(1f, true);
            volume.enabled = false;
        }
        return(volume);
    }
示例#4
0
    public static TweenVolume Begin(GameObject go, float duration, float targetVolume)
    {
        TweenVolume tweenVolume = UITweener.Begin <TweenVolume>(go, duration);

        tweenVolume.from = tweenVolume.volume;
        tweenVolume.to   = targetVolume;
        if (duration <= 0f)
        {
            tweenVolume.Sample(1f, isFinished: true);
            tweenVolume.enabled = false;
        }
        return(tweenVolume);
    }
示例#5
0
    /// <summary>
    /// Start the tweening operation.
    /// </summary>

    static public TweenVolume Begin(GameObject go, float duration, float targetVolume)
    {
        TweenVolume comp = UITweener.Begin <TweenVolume>(go, duration);

        comp.from = comp.volume;
        comp.to   = targetVolume;

        if (duration <= 0f)
        {
            comp.Sample(1f, true);
            comp.enabled = false;
        }
        return(comp);
    }
示例#6
0
 static public int set_from(IntPtr l)
 {
     try {
         TweenVolume   self = (TweenVolume)checkSelf(l);
         System.Single v;
         checkType(l, 2, out v);
         self.from = v;
         pushValue(l, true);
         return(1);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
示例#7
0
 static public int set_value(IntPtr l)
 {
     try {
         TweenVolume self = (TweenVolume)checkSelf(l);
         float       v;
         checkType(l, 2, out v);
         self.value = v;
         pushValue(l, true);
         return(1);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
示例#8
0
    /// <summary>
    /// Start the tweening operation.
    /// </summary>

    public static TweenVolume Begin(GameObject go, float duration, float targetVolume)
    {
        TweenVolume comp = UITweener.Begin <TweenVolume>(go, duration);

        comp.from = comp.value;
        comp.to   = targetVolume;

        if (targetVolume > 0f)
        {
            comp.audioSource.enabled = true;
            comp.audioSource.Play();
        }
        return(comp);
    }
    void Awake()
    {
        TweenVolume tVol = gameObject.GetComponent <TweenVolume>();

        if (tVol != null)
        {
            TimeDuration = tVol.duration;
            DestroyObject(tVol);
        }

        if (audio != null)
        {
            m_VolumeStart = audio.volume;
        }
    }
    public void MakeBeiJiAudioDownVolum()
    {
        TweenVolume tVol = gameObject.AddComponent <TweenVolume>();

        if (tVol != null)
        {
            tVol.from     = audio.volume;
            tVol.to       = 0f;
            tVol.duration = TimeDuration;
            EventDelegate.Add(tVol.onFinished, delegate {
                AudioVolumeDownEnd();
            });
            tVol.enabled = true;
        }
    }
示例#11
0
    // Update is called once per frame
    void Update()
    {
        switch (m_Status)
        {
        case E_SND_STAT.STAT_NULL:
            break;

        case E_SND_STAT.STAT_SE_FADE_BGM:
            if (!m_TrackSEList[m_FadeBgmSeTrk].isPlaying && !m_BgmStopped)
            {
                m_Status = E_SND_STAT.STAT_NULL;
                TweenVolume.Begin(m_TrackBgm[m_ActiveBgmTrack].gameObject, 0.2f, (float)m_CurrentBgmVol / 100.0f);
                m_FadeBgmSeTrk = 0;
            }
            break;
        }
    }
示例#12
0
 static public int Begin_s(IntPtr l)
 {
     try {
         UnityEngine.GameObject a1;
         checkType(l, 1, out a1);
         System.Single a2;
         checkType(l, 2, out a2);
         System.Single a3;
         checkType(l, 3, out a3);
         var ret = TweenVolume.Begin(a1, a2, a3);
         pushValue(l, true);
         pushValue(l, ret);
         return(2);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
示例#13
0
    public void PlayBgm(string bgmName, float fadeInTime = 0.2f, float fadeOutTime = 0.5f)
    {
        //m_TrackBgm[0]
        if (bgmName.Equals(m_CurrentBgmName))
        {
            if (!m_StoppingFadeFlg && m_TrackBgm[m_ActiveBgmTrack].isPlaying)
            {
                return;
            }
            else
            {
                PlayBgmClip(fadeInTime);
                return;
            }
        }

        if (m_TrackBgm[m_ActiveBgmTrack].clip == null)
        {
            PlayBgmClip(bgmName, fadeInTime);
        }
        else
        {
            if (m_TrackBgm[m_ActiveBgmTrack].isPlaying)
            {
                m_FadeInTime     = fadeInTime;
                m_CurrentBgmName = bgmName;
                TweenVolume tv = TweenVolume.Begin(m_TrackBgm[m_ActiveBgmTrack].gameObject, fadeOutTime, 0);
                tv.eventReceiver     = gameObject;
                tv.callWhenFinished  = "LastBgmFadeEnd";
                m_LastActiveBgmTrack = m_TrackBgm[m_ActiveBgmTrack];

                if (m_CrossFade)
                {
                    //m_TrackBgm[m_ActiveBgmTrack].Stop();
                    m_ActiveBgmTrack = (m_ActiveBgmTrack + 1) % 2;
                    PlayBgmClip(m_CurrentBgmName, fadeInTime);
                }
            }
            else
            {
                PlayBgmClip(bgmName, fadeInTime);
            }
        }
    }
示例#14
0
    private void PlayBgmClip(float fadeInTime, bool loopBgm = true)
    {
        m_BgmStopped     = false;
        m_ActiveBgmTrack = (m_ActiveBgmTrack + 1) % 2;
        m_TrackBgm[m_ActiveBgmTrack].enabled = true;

        if (m_TrackBgm[m_ActiveBgmTrack].clip == null || !m_TrackBgm[m_ActiveBgmTrack].clip.name.Equals(m_CurrentBgmName))
        {
            AudioClip clip = Resources.Load(StringBuilderTool.ToInfoString("Sound/Bgm/", m_CurrentBgmName)) as AudioClip;
            m_TrackBgm[m_ActiveBgmTrack].clip = clip;
        }
        m_TrackBgm[m_ActiveBgmTrack].volume = 0.011f;
        m_TrackBgm[m_ActiveBgmTrack].loop   = loopBgm;
        m_TrackBgm[m_ActiveBgmTrack].Play();
        TweenVolume tv = TweenVolume.Begin(m_TrackBgm[m_ActiveBgmTrack].gameObject, fadeInTime, (float)m_CurrentBgmVol / 100.0f);

        tv.eventReceiver    = gameObject;
        tv.callWhenFinished = "PlayBgmFadeEnd";
    }
    void DelayPlayNextBeiJingAudio()
    {
        TweenVolume tVol = gameObject.GetComponent <TweenVolume>();

        if (tVol != null)
        {
            DestroyObject(tVol);
        }

        AudioListCtrl.StopLoopAudio(AudioListCtrl.GetInstance().ASGuanKaBJ[IndexBeiJingAd]);
        AudioListCtrl.GetInstance().ASGuanKaBJ[IndexBeiJingAd].volume = m_VolumeStart;

        IndexBeiJingAd++;
        if (IndexBeiJingAd >= AudioListCtrl.GetInstance().ASGuanKaBJ.Length)
        {
            IndexBeiJingAd = 0;
        }
        //Debug.Log("Unity:"+"DelayPlayNextBeiJingAudio -> IndexBeiJingAd "+IndexBeiJingAd);
        XKGlobalData.GetInstance().PlayGuanKaBeiJingAudio(IndexBeiJingAd);
    }
    public override void OnInspectorGUI()
    {
        GUILayout.Space(6f);
        NGUIEditorTools.SetLabelWidth(120f);

        TweenVolume tw = target as TweenVolume;

        GUI.changed = false;

        float from = EditorGUILayout.Slider("From", tw.from, 0f, 1f);
        float to   = EditorGUILayout.Slider("To", tw.to, 0f, 1f);

        if (GUI.changed)
        {
            NGUIEditorTools.RegisterUndo("Tween Change", tw);
            tw.from = from;
            tw.to   = to;
        }

        DrawCommonProperties();
    }
    public static void StopLoopAudio(AudioSource asVal, int key = 0)
    {
        if (asVal == null)
        {
            return;
        }

        if (key == 0)
        {
            asVal.Stop();
        }
        else
        {
            TweenVolume tVol = asVal.GetComponent <TweenVolume>();
            if (tVol != null)
            {
                tVol.enabled = true;
            }
            AudioManager.Instance.MoveAudioManagerObj();
        }
    }
示例#18
0
 /// <summary>
 /// PlayBgMusic函数只用于加载背景音乐
 /// </summary>
 /// <param name="name"></param>
 /// <param name="isAutoDestroy"></param>
 public void PlayBgMusic(string name, bool isAutoDestroy, bool loop, bool isLocal = false)
 {
     //Debug.Log("背景音乐:" + name);
     if (m_bgMusicName.CompareTo(name) != 0)
     {
         m_bgMusicName = name;
         if (m_bgMusic != null)
         {
             if (m_setBgMusicTask != null)
             {
                 m_setBgMusicTask.Stop();
             }
             TweenVolume.Begin(m_bgMusic.gameObject, 1, 0);
             m_setBgMusicTask = new Task(SetBgMusicDispear(name, isAutoDestroy, loop));
         }
         else
         {
             CreatBgMusic(name, isAutoDestroy, loop, isLocal);
         }
     }
 }
示例#19
0
    private void PlayBgmClip(string bgmName, float fadeInTime)
    {
        m_ActiveBgmTrack = (m_ActiveBgmTrack + 1) % 2;
///		Debug.Log("play bgm AAAAAAAAAAA now Active channel is " + m_ActiveBgmTrack );
        AudioClip clip = null;

        if (m_bIsSong)
        {
            clip = Resources.Load("Sound/Song/" + bgmName) as AudioClip;
        }
        else
        {
            clip = Resources.Load("Sound/Bgm/" + bgmName) as AudioClip;
        }
        m_CurrentBgmName = bgmName;
        m_TrackBgm[m_ActiveBgmTrack].enabled = true;
        m_TrackBgm[m_ActiveBgmTrack].clip    = clip;
        m_TrackBgm[m_ActiveBgmTrack].volume  = 0.011f;
        m_TrackBgm[m_ActiveBgmTrack].Play();
        TweenVolume tv = TweenVolume.Begin(m_TrackBgm[m_ActiveBgmTrack].gameObject, fadeInTime, (float)m_CurrentBgmVol / 100.0f);

        tv.eventReceiver    = gameObject;
        tv.callWhenFinished = "PlayBgmFadeEnd";
    }
示例#20
0
	private void FadeOutEndHandler()
	{
		if (fadeOutTween != null)
		{
			EventDelegate.Remove(fadeOutTween.onFinished, FadeOutEndHandler);
			fadeOutTween = null;
		}

		if (nextClip != null)
		{
			currentAudio.loop = false; //預設的循環設定在串流播放時會回到最後串流的起始(bug),導致循環播放最後的串流區間
			currentAudio.clip = nextClip;
			currentAudio.volume = 0.02f;
			currentAudio.playOnAwake = false;
			currentAudio.mute = IsMute;

			nextClip = null;
			
			currentAudio.Play();
			
			//FadeIn
			TweenVolume.Begin(gameObject, duration, Volume);
		}
	}
示例#21
0
 public unsafe static long $Invoke0(long instance, long *args)
 {
     return(GCHandledObjects.ObjectToGCHandle(TweenVolume.Begin((GameObject)GCHandledObjects.GCHandleToObject(*args), *(float *)(args + 1), *(float *)(args + 2))));
 }
示例#22
0
 public void BeginTweenVolume(GameObject go, float duration, float targetVolume)
 {
     TweenVolume.Begin(go, duration, targetVolume);
 }
示例#23
0
    private IEnumerator Start()
    {
        while (true)
        {
            yield return((object)null);

            if (playingBGMID != requestBGMID)
            {
                changingBGM  = true;
                playingBGMID = requestBGMID;
                LoadObject lo_bgm = null;
                if (playingBGMID != 0)
                {
                    ResourceManager.enableCache = false;
                    lo_bgm = new LoadObject(this, RESOURCE_CATEGORY.SOUND_BGM, ResourceName.GetBGM(requestBGMID), false);
                    ResourceManager.enableCache = true;
                }
                if (audioSourceBGM != null && audioSourceBGM.get_isPlaying())
                {
                    bool is_play_fadeout = true;
                    EventDelegate.Callback OnFinishedCallBack = delegate
                    {
                        ((_003CStart_003Ec__Iterator240) /*Error near IL_00f3: stateMachine*/)._003Cis_play_fadeout_003E__1 = false;
                    };
                    TweenVolume fadeout = TweenVolume.Begin(this.get_gameObject(), fadeOutTime, 0f);
                    EventDelegate.Add(fadeout.onFinished, OnFinishedCallBack);
                    while (is_play_fadeout)
                    {
                        audioSourceBGM.set_volume(fadeout.value);
                        yield return((object)null);
                    }
                    EventDelegate.Remove(fadeout.onFinished, OnFinishedCallBack);
                }
                if (lo_bgm != null)
                {
                    if (lo_bgm.isLoading)
                    {
                        yield return((object)lo_bgm.Wait(this));
                    }
                    if (!(lo_bgm.loadedObject != null))
                    {
                        int num3 = playingBGMID = (requestBGMID = 0);
                    }
                    else
                    {
                        if (audioSourceBGM == null)
                        {
                            audioSourceBGM = this.get_gameObject().AddComponent <AudioSource>();
                        }
                        if (audioSourceBGM != null)
                        {
                            audioSourceBGM.set_priority(0);
                            audioSourceBGM.set_reverbZoneMix(0f);
                            audioSourceBGM.set_spread(360f);
                            audioSourceBGM.set_spatialBlend(0f);
                            audioSourceBGM.set_outputAudioMixerGroup(mixerGroupBGM);
                            audioSourceBGM.set_loop(m_IsNextBGMLoop);
                            audioSourceBGM.set_enabled(true);
                            audioSourceBGM.set_clip(lo_bgm.loadedObject as AudioClip);
                            audioSourceBGM.set_volume(volumeBGM);
                            audioSourceBGM.Play(0uL);
                        }
                    }
                }
                if (playingBGMID == 0 && audioSourceBGM != null)
                {
                    audioSourceBGM.Stop();
                }
                changingBGM = false;
            }
        }
    }
示例#24
0
 void PlayMusic0()
 {
     audio.clip = Music0;
     audio.Play();
     TweenVolume.Begin(gameObject, 0.2f, 1f);
 }
示例#25
0
 void OnAllBossDie()
 {
     TweenVolume.Begin(gameObject, 0.2f, 0f);
     Invoke("PlayMusic0", 0.2f);
 }
示例#26
0
 void OnBossCome()
 {
     TweenVolume.Begin(gameObject, 0.2f, 0f);
     Invoke("PlayMusicBoss", 0.2f);
 }