private void SavePlayerSample()
    {
        if (!m_savePlayerSamples || m_movementManager.GetControllerType() != PlayerMovementManager.ControllerType.Player)
        {
            return;
        }

        float[] desiredOutput = PlayerMovementManager.Instance().GenerateInputData();
        bool    isOkay        = m_sampleManager.CheckIsOkayDesiredOutput(desiredOutput);

        if (!isOkay)
        {
            return;
        }

        float[] input = m_sampleManager.GetScreenshotScript().GetScreenshotDataComputed(0, 0, 0, TakeScreenshot.CaptureType.Separate, m_sampleManager.GetCurveWidthSource(), m_sampleManager.GetCurveHeightSource());
        isOkay = m_sampleManager.CheckIsOkayInput(input);
        if (!isOkay)
        {
            return;
        }

        SampleContainer sampleContainer = new SampleContainer(input, desiredOutput, m_sampleManager.CheckFilterDesiredOutput(desiredOutput), m_sampleManager.GetScreenshotScript().GetCaptureWidth(), m_sampleManager.GetScreenshotScript().GetCaptureHeight());

        m_samples.Add(sampleContainer);
    }