Beispiel #1
0
        protected void PresentPattern()
        {
            dataBuffer.GetData(colorData);

            if (manager.pusherConnected)
            {
                for (int i = 0; i < colorData.Length * 3; i += 3)
                {
                    pixelBuffer[i]     = (byte)(colorData[i / 3].x * 255);
                    pixelBuffer[i + 1] = (byte)(colorData[i / 3].y * 255);
                    pixelBuffer[i + 2] = (byte)(colorData[i / 3].z * 255);
                }
                var request = new UnityWebRequest(pixelEndpoint, "POST");
                request.uploadHandler = new UploadHandlerRaw(pixelBuffer);
                request.SendWebRequest();
            }

            if (!manager.highPerformance)
            {
                int     count = 0;
                Vector3 avg   = Vector3.one;
                for (int i = 0; i < colorData.Length; i++)
                {
                    if (!(float.IsNaN(colorData[i].x) || float.IsNaN(colorData[i].y) || float.IsNaN(colorData[i].z)))
                    {
                        avg += colorData[i];
                        count++;
                    }
                    else
                    {
                        //Note the NaN?
                    }
                }
                avg /= count;
                manager.SetLightColor(new Color(avg.x, avg.y, avg.z));
            }
        }