/* PUBLIC METHODS */
    public IEnumerator FirstStep()
    {
        m_isRunning     = true;                                                     // Prevent 2nd sequence to be launched in parallel
        m_lastIteration = false;                                                    // Reset last iteration bool just in case
        StartCoroutine(m_HUD.DisplayStartSequence());                               // 3-2-1 sequence
        yield return(new WaitForSeconds(3));                                        // Wait for start sequence end

        m_timer.Begin();                                                            // Start timer
        yield return(new WaitForSeconds(m_temporisationTime));                      // Temporisation

        m_HUD.DisplayTexture(m_DBM.GetTargetOrderList()[m_i]);                      // Display first arrow
        m_targetManager.SetTargetInteractible(m_DBM.GetTargetOrderList()[m_i]);     // Make first target shootable

        m_i++;                                                                      // Prepare for next iteration
        StopCoroutine("FirstStep");                                                 // Clean up
    }