public void DrawData(DataDraw data, Gradient gradient, Transform transform, int scaleIndex, float scaleHeight = 1, float gridGran = 1)
 {
     if (Application.isPlaying)
     {
         for (int i = 0; i < SizeX; i++)
         {
             for (int j = 0; j < SizeZ; j++)
             {
                 Vector3 drawPos = (transform.position + new Vector3((i * gridGran), 0, (j * gridGran)));
                 dataMap[i][j].DataGizmos(data, gradient, minValues, maxValues, drawPos, scaleHeight, gridGran, scaleIndex);
             }
         }
     }
 }
Exemple #2
0
    /// <summary>
    /// Draw heatmap of the position
    /// </summary>
    /// <param name="draw">Which data you want to draw</param>
    /// <param name="gradient">gradient color</param>
    /// <param name="minMax">Min and max value from the Data array</param>
    /// <param name="drawPos">Where the data should be drawing</param>
    /// <param name="scaleHeight">Max Height of the cube</param>
    /// <param name="gridGran">Scale of the grid</param>
    /// <param name="scaleIndex">Normalized is 0 and Log is 1</param>
    public void DataGizmos(DataDraw draw, Gradient gradient, Data minValues, Data maxValues, Vector3 drawPos, float scaleHeight, float gridGran, int scaleIndex)
    {
        float normalize = 0;

        switch (draw)
        {
        case DataDraw.Position:
            if (dataSet == 0)
            {
                return;
            }

            normalize = Scale(minValues.dataSet, maxValues.dataSet, dataSet, scaleIndex);
            break;

        case DataDraw.Dash:
            if (dashUsage == 0)
            {
                return;
            }
            normalize = Scale(minValues.dashUsage, maxValues.dashUsage, dashUsage, scaleIndex);
            break;

        case DataDraw.Doppler:
            if (dopplerUsage == 0)
            {
                return;
            }
            normalize = Scale(minValues.dopplerUsage, maxValues.dopplerUsage, dopplerUsage, scaleIndex);
            break;

        case DataDraw.Pulse:
            if (pulseUsage == 0)
            {
                return;
            }
            normalize = Scale(minValues.pulseUsage, maxValues.pulseUsage, pulseUsage, scaleIndex);
            break;
        }
        float cubeheight = normalize * scaleHeight;

        Gizmos.color = gradient.Evaluate(normalize);
        Gizmos.DrawCube(drawPos, new Vector3(gridGran, cubeheight, gridGran));
    }