You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
	
	
		
			
				
					
						
							|  |  |  |  | using System.Collections; | 
					
						
							|  |  |  |  | using System.Collections.Generic; | 
					
						
							|  |  |  |  | using UnityEngine; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | public class SpawnEffect : MonoBehaviour { | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     public float spawnEffectTime = 2; | 
					
						
							|  |  |  |  |     public float pause = 1; | 
					
						
							|  |  |  |  |     public AnimationCurve fadeIn; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     ParticleSystem ps; | 
					
						
							|  |  |  |  |     float timer = 0; | 
					
						
							|  |  |  |  |     Renderer _renderer; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     int shaderProperty; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	void Start () | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         shaderProperty = Shader.PropertyToID("_cutoff"); | 
					
						
							|  |  |  |  |         _renderer = GetComponent<Renderer>(); | 
					
						
							|  |  |  |  |         ps = GetComponentInChildren <ParticleSystem>(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         var main = ps.main; | 
					
						
							|  |  |  |  |         main.duration = spawnEffectTime; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         ps.Play(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | 	 | 
					
						
							|  |  |  |  | 	void Update () | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         if (timer < spawnEffectTime + pause) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             timer += Time.deltaTime; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         else | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             ps.Play(); | 
					
						
							|  |  |  |  |             timer = 0; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         _renderer.material.SetFloat(shaderProperty, fadeIn.Evaluate( Mathf.InverseLerp(0, spawnEffectTime, timer))); | 
					
						
							|  |  |  |  |          | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | } |