private IEnumerator DeactiveSelfDelayed(GameObject visual, float duration) { yield return(new WaitForSeconds(duration)); visual.SetActive(false); DeathAnimVisualizerPool.ReturnEffectObject(visual); }
private void PlayDeathEffect() { var visual = DeathAnimVisualizerPool.GetEffectObject(); visual.transform.position = transform.position + Vector3.up * SimulationSettings.DeathEffectSpawnHeight; visual.SetActive(true); StartCoroutine(DeactiveSelfDelayed(visual, visual.GetComponent <ParticleSystem>().duration)); }
private void PlayDeathAnimation() { DeathAnimVisualizerPool.ShowEffect(transform.position); characterModelVisualizer.SetModelVisibility(false); }
private void Awake() { Instance = this; InitializePool(ResourceRegistry.DeathEffectPrefab); }