Exemplo n.º 1
0
Arquivo: FxPool.cs Projeto: fengqk/Art
	public void RequestFx(Transform parent, Vector3 position, Quaternion rotation)
	{
		Transform fxT = pool.ObtainPrefabInstance();
		

		GFX fx = fxT.GetComponent<GFX>();
		fxT.parent = parent;
		fxT.localPosition= position;
		fxT.localRotation = rotation;
		if (fx)
		{
			fx.Play(OnFxLifeEnd);
		}
		else
		{
			
			
			FxDuration duration = fxT.GetComponent<FxDuration>();
			if (duration)
			{
				FxDelayParam p = new FxDelayParam();
				p.delay = duration.duration;
				p.t = fxT;
				p.delay = duration.duration;
				p.t = fxT;
				StartCoroutine(DelayAndRecyle(p));
			}
		}
	}
Exemplo n.º 2
0
Arquivo: FxPool.cs Projeto: fengqk/Art
	IEnumerator DelayAndRecyle(FxDelayParam p)
	{
		yield return new WaitForSeconds(p.delay);
		Recycle(p.t);
	}