From ffd1d5af496e0a0eff343b27c4f0f965bbbf79eb Mon Sep 17 00:00:00 2001 From: chai Date: Tue, 31 Aug 2021 19:07:21 +0800 Subject: *projectile --- .../scripts/instantiateEffectCaller.cs | 60 ++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 Assets/Art/Vfx/StylizedProjectilePack1/scripts/instantiateEffectCaller.cs (limited to 'Assets/Art/Vfx/StylizedProjectilePack1/scripts/instantiateEffectCaller.cs') diff --git a/Assets/Art/Vfx/StylizedProjectilePack1/scripts/instantiateEffectCaller.cs b/Assets/Art/Vfx/StylizedProjectilePack1/scripts/instantiateEffectCaller.cs new file mode 100644 index 00000000..6e53bee0 --- /dev/null +++ b/Assets/Art/Vfx/StylizedProjectilePack1/scripts/instantiateEffectCaller.cs @@ -0,0 +1,60 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class instantiateEffectCaller : MonoBehaviour +{ + [System.NonSerialized] + public bool fired = false; + float timer; + public float timeLimit; + [System.Serializable] + public class chainEffect + { + [System.NonSerialized] + public bool isPlayed = false; + public float activateTimer; + public GameObject Effect; + public Transform effectLocator; + } + public chainEffect[] chainEffectList; + + void Start() + { + // print(chainEffectList.Length); + } + + // Update is called once per frame + void Update() + { + timer += Time.deltaTime; + CheckTimer(); + } + void CheckTimer() + { + + for (int i = 0; i < chainEffectList.Length; i++) + { + if (timer >= chainEffectList[i].activateTimer && chainEffectList[i].isPlayed == false) + { + Instantiate(chainEffectList[i].Effect, chainEffectList[i].effectLocator.transform.position, chainEffectList[i].effectLocator.transform.rotation); + chainEffectList[i].isPlayed = true; + } + } + if (timer >= timeLimit) + { + fired = false; + ResetTimers(); + } + } + + + public void ResetTimers() + { + for (int i = 0; i < chainEffectList.Length; i++) + { + chainEffectList[i].isPlayed = false; + } + timer = 0; + } +} -- cgit v1.1-26-g67d0