private IEnumerator RaiseFromFlower(Flower _target)
    {
        Mat.SetColor("_EmissionColor", origin);
        skinRenderer.enabled = true;

        while (transform.position.y < _target.flowerCenter.position.y + 2f)
        {
            Rig.MovePosition(transform.position + Vector3.up * Time.deltaTime * 0.5f);

            yield return(null);
        }

        Rig.velocity  = Vector3.zero;
        lastFlower    = startFlower;
        m_energyCount = m_energyCountDown;
        m_IsDisabled  = false;
        ThisPlayerMove.SetLaunchable();

        //origin = Mat.GetColor("_EmissionColor");
        float startTime = Time.time - 0.3f;
        float multipler = -Mathf.Cos((Time.time - startTime) * 3f) + 2;

        //print("value " + multipler);
        while (multipler > 1.01f)
        {
            multipler = -Mathf.Cos((Time.time - startTime) * 3f) + 2;
            //print("value " + multipler);
            Mat.SetColor("_EmissionColor", origin * multipler * 1f);

            yield return(null);
        }

        Mat.SetColor("_EmissionColor", origin);
    }
    public IEnumerator MoveToFlower(Flower _target)
    {
        m_isInCinematic      = true;
        skinRenderer.enabled = false;

        if (_target.HasLanded == false)
        {
            _target.HasLanded = true;
        }

        while ((transform.position - _target.flowerCenter.position).sqrMagnitude > 0.01f)
        {
            Rig.MovePosition(Vector3.Lerp(transform.position, _target.flowerCenter.position, 0.02f));

            yield return(null);
        }

        yield return(new WaitForSeconds(0.5f));

        yield return(StartCoroutine(RaiseFromFlower(_target)));

        m_isInCinematic = false;
    }