private IEnumerator Shoot()
    {
        shotQueuedUntil = Time.time - Time.deltaTime;
        lastShot        = Time.time;
        animator.SetTrigger("Shoot");
        yield return(new WaitForSeconds(spawnDelayTime));

        Vector2 spawnPosition = transform.position +
                                (facingRight ? transform.right : -transform.right) * spawnDistance;
        KeepConsistentOrbitSpeed projectile = Instantiate(prefab, spawnPosition, transform.rotation);

        projectile.facingRight = facingRight;
        projectile.color       = data.color;
    }
Beispiel #2
0
    private void CheckDeflectProjectile(Collider2D obj)
    {
        KeepConsistentOrbitSpeed projectile = obj.GetComponent <KeepConsistentOrbitSpeed>();

        if (projectile != null)
        {
            projectile.facingRight = facingRight;
            ParticleSystem            particle = Instantiate(contactParticle, projectile.transform.position, Quaternion.identity);
            ParticleSystem.MainModule main     = particle.main;
            main.startColor = color;
            ParticleSystem.TrailModule trail = particle.trails;
            trail.colorOverTrail = color;
            particle.Play();
            projectile.color = color;
            PlayerManager.instance.StartCoroutine(Slowdown());
        }
    }