53 lines
1.6 KiB
C#
53 lines
1.6 KiB
C#
|
/********************************************************************************
|
|||
|
* 文件名: SceneEffectLoop.cs
|
|||
|
* 全路径: \Script\Scene\SceneEffectLoop.cs
|
|||
|
* 创建人: 李嘉
|
|||
|
* 创建时间:2014-10-24
|
|||
|
*
|
|||
|
* 功能说明:场景中某些特效定时循环播放逻辑
|
|||
|
* 将脚本挂在场景某个Object中,设定循环间隔即可实现定时播放
|
|||
|
* 修改记录:
|
|||
|
*********************************************************************************/
|
|||
|
|
|||
|
using Games.LogicObj;
|
|||
|
using UnityEngine;
|
|||
|
using System.Collections;
|
|||
|
|
|||
|
public class SceneEffectLoop : MonoBehaviour
|
|||
|
{
|
|||
|
public int m_LoopDeltaTime; //每次循环的间隔时间(秒)
|
|||
|
public int m_SoundID = -1; //声音Id
|
|||
|
|
|||
|
// Use this for initialization
|
|||
|
void Start ()
|
|||
|
{
|
|||
|
StartCoroutine(DoSceneEffectLoop());
|
|||
|
}
|
|||
|
|
|||
|
//时间到了则循环一次
|
|||
|
IEnumerator DoSceneEffectLoop()
|
|||
|
{
|
|||
|
while (true)
|
|||
|
{
|
|||
|
yield return new WaitForSeconds(m_LoopDeltaTime);
|
|||
|
|
|||
|
//播放特效
|
|||
|
ParticleSystem[] particleSystemArray = gameObject.GetComponentsInChildren<ParticleSystem>();
|
|||
|
|
|||
|
for(int i=0; i<particleSystemArray.Length; ++i)
|
|||
|
{
|
|||
|
if (null != particleSystemArray[i])
|
|||
|
{
|
|||
|
particleSystemArray[i].Play();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//播放声音
|
|||
|
if (m_SoundID >= 0 && null != GameManager.gameManager.SoundManager)
|
|||
|
{
|
|||
|
GameManager.gameManager.SoundManager.PlaySoundEffectAtPos(m_SoundID, gameObject.transform.localPosition);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|