Ejemplo n.º 1
0
        private void RenderDots(Vector2 startPos, Vector2 endPos, Color color, float dotAge)
        {
            float distance = Vector2.Distance(startPos, endPos);

            if (dotAge <= dotMaxAge)
            {
                const int dotCount = 2;
                for (int i = 0; i < dotCount; i++)
                {
                    color.a = 1.0f - dotAge / dotMaxAge;
                    float lerp = ((age / (distance / dotSpeed) + (float)i / dotCount)) % 1;
                    color.a *= Mathf.Sin(lerp * Mathf.PI);
                    Vector2 position = Vector2.Lerp(startPos, endPos, lerp);
                    RenderingHelper.RenderDotInMonitorWindow(position, color, 6, 6);
                }
            }
        }
Ejemplo n.º 2
0
        private void RenderDots(bool reversed, float offset)
        {
            const int dotCount = 2;

            for (int i = 0; i < dotCount; i++)
            {
                float timeSinceLastSend = age - (reversed ? lastReverseSendTime : lastSendTime);
                if (timeSinceLastSend <= DotMaxAge)
                {
                    lineColor.a = Mathf.Sin((1.0f - timeSinceLastSend / DotMaxAge) * Mathf.PI * 0.5f);
                    float lerp = (age / (totalGridDistance) + (float)i / dotCount) % 1;
                    if (reversed)
                    {
                        lerp = 1.0f - lerp;
                    }
                    lineColor.a *= Mathf.Sin(lerp * Mathf.PI);
                    Vector2 position = GetPositionOnLine(lerp, offset);
                    RenderingHelper.RenderDotInMonitorWindow(position, lineColor, 6, 6);
                }
            }
        }