diff options
author | chai <chaifix@163.com> | 2020-11-04 08:59:59 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2020-11-04 08:59:59 +0800 |
commit | d02d8779f4c36d4aec58a5d2d460f482894af3b8 (patch) | |
tree | 800881bfaff28115eb063a5795f0343905ed7c20 /Assets/Scripts/Effects/AfterImage/AfterImagePool.cs | |
parent | ef739e3c4d66007fb9c2ced195edb539eb92f3a4 (diff) |
*after image
Diffstat (limited to 'Assets/Scripts/Effects/AfterImage/AfterImagePool.cs')
-rw-r--r-- | Assets/Scripts/Effects/AfterImage/AfterImagePool.cs | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/Assets/Scripts/Effects/AfterImage/AfterImagePool.cs b/Assets/Scripts/Effects/AfterImage/AfterImagePool.cs new file mode 100644 index 00000000..f9d033fd --- /dev/null +++ b/Assets/Scripts/Effects/AfterImage/AfterImagePool.cs @@ -0,0 +1,50 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class AfterImagePool : MonoBehaviour +{ + + //public CharacterControl myCharacterControl; + public GameObject targetObject; //Set these manually to the character object you're copying + public Animator targetAnimator; //Set these manually to the character object you're copying + public GameObject prefab; //This is the prefab you made in the scene. It's a parent transform with an animator and AfterImage script on it, with Armature and SkinnedMeshRenderer children + public int poolSize = 10; + public List<AfterImage> afterImages; + + public int interval = 10; + + public int time = 0; + + // Use this for initialization + void Start() + { + //myCharacterControl = transform.root.GetComponent<CharacterControl>(); + //Debug.Log("START AFTER IMAGE POOL"); + afterImages = new List<AfterImage>(poolSize); + for (int i = 0; i < poolSize; i++) + { + GameObject nextAfterImage = Instantiate(prefab); + afterImages.Add(nextAfterImage.GetComponent<AfterImage>()); + + nextAfterImage.GetComponent<AfterImage>().targetObject = targetObject; //Game Object Target + nextAfterImage.GetComponent<AfterImage>().targetAnimator = targetAnimator; //Animator Target + } + } + + // Update is called once per frame + void Update() + { + //if (CitadelDeep.hitPause > 0 || CitadelDeep.debugPause) { return; } + time++; + if (time > interval) { time = 0; AddAfterImage(); } + } + + void AddAfterImage() + { + for (int i = 0; i < poolSize; i++) + { + if (!afterImages[i].active) { afterImages[i].Activate(); break; } + } + } +}
\ No newline at end of file |