diff options
author | chai <chaifix@163.com> | 2021-08-31 19:07:21 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2021-08-31 19:07:21 +0800 |
commit | ffd1d5af496e0a0eff343b27c4f0f965bbbf79eb (patch) | |
tree | c5a8ae2116040ce8c483454b2e82093f247db341 /Assets/Art/Vfx/StylizedProjectilePack1/scripts/instantiateEffectCaller.cs | |
parent | 476abf41a7357db0dd870f0d221f1a26481ab2bf (diff) |
*projectile
Diffstat (limited to 'Assets/Art/Vfx/StylizedProjectilePack1/scripts/instantiateEffectCaller.cs')
-rw-r--r-- | Assets/Art/Vfx/StylizedProjectilePack1/scripts/instantiateEffectCaller.cs | 60 |
1 files changed, 60 insertions, 0 deletions
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;
+ }
+}
|