Example #1
0
    private IEnumerator ApplyBuff(ClickShooter clickShooter)
    {
        activated = true;

        foreach (Renderer childRenderer in GetComponentsInChildren <Renderer>())
        {
            childRenderer.enabled = false;
        }
        foreach (Light childLight in GetComponentsInChildren <Light>())
        {
            childLight.enabled = false;
        }

        savedSnapAngle   = clickShooter.snapAngle;
        savedBulletDelay = clickShooter.bulletDelay;

        clickShooter.snapAngle   = snapAngle;
        clickShooter.bulletDelay = bulletDelay;

        yield return(new WaitForSeconds(buffDuration));

        clickShooter.snapAngle   = savedSnapAngle;
        clickShooter.bulletDelay = savedBulletDelay;

        Destroy(gameObject);
    }
Example #2
0
    void OnTriggerEnter(Collider other)
    {
        if (!other.GetComponent <PlayerCharacter>() || activated)
        {
            return;
        }

        ClickShooter clickShooter = other.GetComponent <ClickShooter>();

        if (clickShooter)
        {
            StartCoroutine(ApplyBuff(clickShooter));
        }
    }