Пример #1
0
    private void StartBuffer()
    {
        if (!allowRedraw || !needRedraw)
        {
            return;
        }
        if (buffer.status != OnlineMapsBufferStatus.wait)
        {
            return;
        }

        if (latitude < -90)
        {
            latitude = -90;
        }
        else if (latitude > 90)
        {
            latitude = 90;
        }
        while (longitude < -180 || longitude > 180)
        {
            if (longitude < -180)
            {
                longitude += 360;
            }
            else if (longitude > 180)
            {
                longitude -= 360;
            }
        }

        buffer.status = OnlineMapsBufferStatus.start;

#if !UNITY_WEBGL
        if (renderInThread && control.resultIsTexture)
        {
            if (renderThread == null)
            {
#if NETFX_CORE
                renderThread = new OnlineMapsThreadWINRT(buffer.GenerateFrontBuffer);
#else
                renderThread = new Thread(buffer.GenerateFrontBuffer);
#endif
                renderThread.Start();
            }
        }
        else
        {
            buffer.GenerateFrontBuffer();
        }
#else
        buffer.GenerateFrontBuffer();
#endif

        needRedraw = false;
    }