private void PlayAnimation(bool temp_anim, Sprite[] animation, float speed) { _current_time += Time.deltaTime; if (_current_time > speed) { _current_time = 0; ++_frame_index; if (_frame_index >= animation.Count()) { if (KillWhenDone) { Destroy(gameObject); return; } _frame_index = 0; if (temp_anim) { _current_temp_animation = null; animation = _current_base_animation; } } _sprite_renderer.sprite = animation[_frame_index]; } }