public void Emit(OnFxEnded onFxEnded)
    {
        if (_particle == null)
        {
            return;
        }
        _particle.Play();

        _eventOnFxEnded = onFxEnded;

        _fxCount   = 3.0f;
        _isVisible = true;
    }
    void Update()
    {
        if (!_isVisible)
        {
            return;
        }
        _fxCount -= Time.deltaTime;
        if (_fxCount < 0.0f)
        {
            if (_eventOnFxEnded != null)
            {
                _eventOnFxEnded(this);
            }

            _fxCount        = 1.0f;
            _eventOnFxEnded = null;
            Hide();
        }
    }