46 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C#
		
	
	
	
using System.Collections;
 | 
						|
using System.Collections.Generic;
 | 
						|
using UnityEngine;
 | 
						|
 | 
						|
namespace PolygonArsenal
 | 
						|
{
 | 
						|
    public class PolygonEffectCycler : MonoBehaviour
 | 
						|
    {
 | 
						|
        [SerializeField]
 | 
						|
        List<GameObject> listOfEffects;
 | 
						|
 | 
						|
        [Header("Loop length in seconds")]
 | 
						|
        [SerializeField]
 | 
						|
        float loopTimeLength = 5f;
 | 
						|
 | 
						|
        float timeOfLastInstantiate;
 | 
						|
 | 
						|
        GameObject instantiatedEffect;
 | 
						|
 | 
						|
        int effectIndex = 0;
 | 
						|
 | 
						|
        // Use this for initialization
 | 
						|
        void Start()
 | 
						|
        {
 | 
						|
            instantiatedEffect = Instantiate(listOfEffects[effectIndex], transform.position, transform.rotation) as GameObject;
 | 
						|
            effectIndex++;
 | 
						|
            timeOfLastInstantiate = Time.time;
 | 
						|
        }
 | 
						|
 | 
						|
        // Update is called once per frame
 | 
						|
        void Update()
 | 
						|
        {
 | 
						|
            if (Time.time >= timeOfLastInstantiate + loopTimeLength)
 | 
						|
            {
 | 
						|
                Destroy(instantiatedEffect);
 | 
						|
                instantiatedEffect = Instantiate(listOfEffects[effectIndex], transform.position, transform.rotation) as GameObject;
 | 
						|
                timeOfLastInstantiate = Time.time;
 | 
						|
                if (effectIndex < listOfEffects.Count - 1)
 | 
						|
                    effectIndex++;
 | 
						|
                else
 | 
						|
                    effectIndex = 0;
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |