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); }
void OnTriggerEnter(Collider other) { if (!other.GetComponent <PlayerCharacter>() || activated) { return; } ClickShooter clickShooter = other.GetComponent <ClickShooter>(); if (clickShooter) { StartCoroutine(ApplyBuff(clickShooter)); } }