Beispiel #1
0
    public void AddPoint(float point)
    {
        dataPoints.Enqueue(point);

        if (dataPoints.Count > visiblePointsCount)
        {
            dataPoints.Dequeue();
        }

        Queue <float> .Enumerator pointsEnum = dataPoints.GetEnumerator();

        if (lineRenderer != null)
        {
            for (int i = visiblePointsCount - 1; i >= 0; i--)
            {
                pointsEnum.MoveNext();
                Vector3 newPoint = new Vector3(1f - i * pointOffset, pointsEnum.Current - 0.5f, 0);
                lineRenderer.SetPosition(i, newPoint);
            }
        }
        else if (uiLineRenderer != null)
        {
            for (int i = visiblePointsCount - 1; i >= 0; i--)
            {
                pointsEnum.MoveNext();
                Vector3 newPoint = new Vector3((1f - i * pointOffset) * uiWidth, pointsEnum.Current * uiHeight);
                uiLineRenderer.Points[i] = newPoint;
            }

            uiLineRenderer.Apply();
        }
    }