diff options
Diffstat (limited to 'Assets/Scripts/Effects/AfterImage/AfterImage.cs')
-rw-r--r-- | Assets/Scripts/Effects/AfterImage/AfterImage.cs | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/Assets/Scripts/Effects/AfterImage/AfterImage.cs b/Assets/Scripts/Effects/AfterImage/AfterImage.cs new file mode 100644 index 00000000..1e1d0393 --- /dev/null +++ b/Assets/Scripts/Effects/AfterImage/AfterImage.cs @@ -0,0 +1,79 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class AfterImage : MonoBehaviour +{ + public Animator myAnimator; + //public CharacterControl myCharacterControl; + public Renderer myRenderer; + + public Animator targetAnimator; + public GameObject targetObject; + + public float time; + public float intensity; + public float pow; + public float timeMax = 45; + + public bool active; + + // Use this for initialization + void Start() + { + //targetObject = + } + + // Update is called once per frame + void Update() + { + if (time > 0) + { + time--; + active = true; + intensity = (time / timeMax) * 10 * pow; + UpdateRenderer(); + } + else + { + active = false; + intensity = 0; + } + } + + void UpdateRenderer() + { + myRenderer.material.SetFloat("_Intensity", intensity); + myRenderer.material.SetFloat("_MKGlowPower", intensity); + } + + public void Activate() + { + active = true; + transform.position = targetObject.transform.position; + transform.localScale = targetObject.transform.lossyScale; + transform.rotation = targetObject.transform.rotation; + + myAnimator.Play(targetAnimator.GetCurrentAnimatorStateInfo(0).shortNameHash, 0, targetAnimator.GetCurrentAnimatorStateInfo(0).normalizedTime); + //myAnimator.Play(myCharacterControl.animator.GetCurrentAnimatorStateInfo(0).normalizedTime); + //myAnimator.no + + //foreach (AnimatorControllerParameter param in targetAnimator.parameters) + //{ + // if (param.type == AnimatorControllerParameterType.Float) + // { + // myAnimator.SetFloat(param.name, targetAnimator.GetFloat(param.name)); + // } + // if (param.type == AnimatorControllerParameterType.Int) + // { + // myAnimator.SetInteger(param.name, targetAnimator.GetInteger(param.name)); + // } + //} + + myAnimator.speed = 0.02f; + myAnimator.Update(1/60f); + time = timeMax + 1; + Update(); + } + +}
\ No newline at end of file |