コード例 #1
0
ファイル: Replayer.cs プロジェクト: jporter19/TeamStyle16_3D
 public LineChart(int width, int height, string key)
 {
     chart = new Texture2D(width, height);
     for (var x = 0; x < chart.width; ++x)
         for (var y = 0; y < chart.height; ++y)
             chart.SetPixel(x, y, x % 10 == 0 || y % 5 == 0 ? Color.gray : Color.black);
     var values = Data.Battle["history"][key];
     var maxVal = values.list.Max(valueList => valueList.list.Max(value => value.n));
     var deltaX = (float)width / Data.Replay.FrameCount * 0.98f;
     var deltaY = height / maxVal * 0.95f;
     var p0 = new Vector2(0, values[0][0].n * deltaY);
     var p1 = new Vector2(0, values[0][1].n * deltaY);
     for (var i = 1; i < Data.Replay.FrameCount; ++i)
         if (values[i][0].i == values[i][1].i && values[i - 1][0].i == values[i - 1][1].i)
         {
             var p = new Vector2(i * deltaX, values[i][0].n * deltaY);
             var c = (Data.TeamColor.Target[0] + Data.TeamColor.Target[1]) / 2;
             chart.Line(p0, p, c, Data.GUI.LineThickness);
             chart.Line(p1, p, c, Data.GUI.LineThickness);
             p1 = p0 = p;
         }
         else
         {
             var p = new Vector2(i * deltaX, values[i][0].n * deltaY);
             chart.Line(p0, p, Data.TeamColor.Target[0], Data.GUI.LineThickness);
             p0 = p;
             p = new Vector2(i * deltaX, values[i][1].n * deltaY);
             chart.Line(p1, p, Data.TeamColor.Target[1], Data.GUI.LineThickness);
             p1 = p;
         }
     chart.Apply();
 }