예제 #1
0
        public void Activate()
        {
            _castingPs = Instantiate(CastingPs);
            _castingPs.transform.position = Emitter.position;
            var groundAttacher = _castingPs.GetComponent <IFX_GroundAttacher>();

            if (groundAttacher != null)
            {
                groundAttacher.Run();
            }

            var castingPs = _castingPs.GetComponent <ParticleSystem>();

            if (castingPs != null)
            {
                castingPs.Play();
            }

            _targetPs = Instantiate(TargetPs);
            _targetPs.transform.position = ResultTargetPosition;
            _targetPs.Play();

            _leftTargetAttacher.DeAttach();
            _righTargetAttacher.DeAttach();
        }
예제 #2
0
        public void Activate()
        {
            _targetAttacher.DeAttach();

            var rotationModule = _shurikenPs.rotationOverLifetime;

            rotationModule.enabled = true;

            TrailShaderAnimator.Target = _shurikenPs.GetComponent <IFX_HorizontalTrail>().TrailObject;
            TrailShaderAnimator.Setup();

            ShurikenShaderAnimator.Target = _shurikenPs.transform;
            ShurikenShaderAnimator.Setup();

            _throwPs.transform.position = _shurikenPs.transform.position;
            _throwPs.Play(true);

            _motionPs.Stop();

            _shurikenPs.transform.rotation = Quaternion.LookRotation(ResultTargetPosition - _shurikenPs.transform.position);

            if (AudioSource != null && AudioClip != null)
            {
                AudioSource.PlayOneShot(AudioClip);
            }
        }
 public void Activate()
 {
     _targetAttacher.DeAttach();
     _lerpMotion.LaunchPosition = GrenadeFx.transform.position;
     _lerpMotion.TargetPosition = ResultTargetPosition;
     _lerpMotion.Run();
     _isActivated          = true;
     TrailRenderer.enabled = true;
 }