void ShowSceneElements(bool shouldShow)
 {
     if (shouldShow)
     {
         m_cursorManager.Enable();
         UpdateParticles(false);
     }
     else
     {
         m_cursorManager.Disable();
         HideParticles();
     }
 }
    // Update is called once per frame
    void Update()
    {
        if (!m_isObjectPlaced)
        {
            if (Utils.WasTouchStartDetected())
            {
                // Place the actor & it's shadow plane at the last detected cursor postion.
                var pos = m_cursorManager.GetCurrentCursorPosition();
                var rot = m_cursorManager.GetCurrentCursorRotation();

                if (m_actor == null)
                {
                    m_actor            = GameObject.Instantiate(m_actorPrefab, pos, rot);
                    m_materialToUpdate = Utils.FindMaterialOnObject(m_actor, "COLOR BASICO 04");
                    m_actorAnimator    = m_actor.GetComponentInChildren <Animator> ();
                }

                if (m_shadowPlane == null)
                {
                    m_shadowPlane = GameObject.Instantiate(m_shadowPlanePrefab, pos, rot);
                }

                m_isObjectPlaced = true;
            }
        }
        else if (m_isCursorHidden)
        {
            Debug.Log("Capture color and enable cursor");
            m_actorAnimator.SetTrigger(m_animationId);

            m_materialToUpdate.color = m_pixelCapturer.m_lastCapturedColor;

            m_cursorManager.Enable();
            m_isCursorHidden = false;
        }
        else if (Utils.WasTouchStartDetected())
        {
            Debug.Log("Hide cursor and render a frame before capturing the color.");
            m_cursorManager.Disable();
            m_pixelCapturer.m_shouldCaptureOnNextFrame = true;
            m_isCursorHidden = true;
        }
    }