static public void DrawCircle(Vector3 position, float rotation, float angle, float size)
    {
        Vector3 center = position;
        int     step   = 10;

        int start = -(int)(angle / 2);
        int end   = (int)(angle / 2);

        for (int i = start; i < end; i += step)
        {
            float rot = i + 90 + rotation;

            float rotA = rot * Mathf.Deg2Rad;
            float rotB = (rot + step) * Mathf.Deg2Rad;

            Vector3 pointA = LightingPosition.GetPosition3D(new Vector2(Mathf.Cos(rotA) * size, Mathf.Sin(rotA) * size), center);
            Vector3 pointB = LightingPosition.GetPosition3D(new Vector2(Mathf.Cos(rotB) * size, Mathf.Sin(rotB) * size), center);

            Gizmos.DrawLine(pointA, pointB);

            if (angle < 360 && angle > 0)
            {
                if (i == start)
                {
                    Gizmos.DrawLine(pointA, center);
                }

                if (i + step > end)
                {
                    Gizmos.DrawLine(pointB, center);
                }
            }
        }
    }