public void OnTriggerEnter(Collider collider) { Player player = collider.gameObject.GetComponent <Player>(); if (player != null) { if (player.playerState.isLegendary) { enemyHealth.TakeDamage(player.GetCurrentDamage()); //StartCoroutine(FlashDamage(0.33f)); chainKillParticlePooler.SpawnFromQueueAndPlay(null, transform.position, Vector3.zero); } else { StartCoroutine(DelayedDamage(collider, player)); } } else { EnemyDestroysRunestone edr = collider.gameObject.GetComponent <EnemyDestroysRunestone>(); if (edr != null) { edr.WinOrLoose(false); } else { return; } } }
IEnumerator ResetPlayerAfterChainKill() { //we wait until the player has killed all enemies and then trigger a game victory in //the usual way yield return(new WaitUntil(() => playerDashChaining.isTargetStashEmpty())); playerDashChaining.SetChainKillParticlesEnabled(false); yield return(new WaitForSecondsRealtime(1f)); chainKillCam.Priority = 8; enemyDestroysRunestone.WinOrLoose(true); yield break; }