Пример #1
0
    /// <summary>
    /// Adds a value at the start of the list. Depending on whether graph is playing or not, real values updated / buffered list
    /// Needs to be called after Graphrenderer initialized
    /// </summary>
    /// <param name="value">one value</param>
    public void AddValue(float value)
    {
        //this is used to visualise graph in right time frame
        if (!m_UpdatePossible)
        {
            return;
        }
        m_UpdatePossible = false;
        ///Debug.Log("List addition: Update (FPS info)" + (int)Time.time);

        if (m_GraphRenderer.IsPlaying()) // update displayed values list
        {
            m_Values.Add(value);
            m_Values.RemoveAt(0);
        }
        else //insert in buffered list
        {
            if (m_Buffer == null)
            {
                m_Buffer = new List <float>();
            }
            //Debug.Log("buffering");
            m_Buffer.Add(value);
            if (m_Buffer.Count > m_DisplayedPointsCount) //keep list cropped to max_size
            {
                m_Buffer.RemoveAt(0);
            }
        }
    }