public static bool IsFullGridEnabled()
        {
            if (s_IsFullGridEnabledDelegate == null)
                s_IsFullGridEnabledDelegate = (Func<bool>)ReflectionUtility.GetClosedDelegateOnProperty<Func<bool>>(
                    GetProGridsType(), GetProGridsInstance(), "FullGridEnabled", BindingFlags.Instance | BindingFlags.NonPublic);

            if (s_IsFullGridEnabledDelegate != null)
                return s_IsFullGridEnabledDelegate();

            return false;
        }
        public static float GetActiveGridOffset()
        {
            if (s_GetActiveGridOffsetDelegate == null)
                s_GetActiveGridOffsetDelegate = (Func<float>)ReflectionUtility.GetClosedDelegateOnProperty<Func<float>>(
                    GetProGridsType(), GetProGridsInstance(), "GridRenderOffset", (BindingFlags.Instance | BindingFlags.Public));

            if (s_GetActiveGridOffsetDelegate != null)
                return s_GetActiveGridOffsetDelegate();

            return 0f;
        }
        public static bool GetSnapAsGroup()
        {
            if (GetProGridsType() == null)
            {
                return(false);
            }

            if (s_ProGridsSnapAsGroupDelegate == null)
            {
                s_ProGridsSnapAsGroupDelegate = (Func <bool>)ReflectionUtility.GetClosedDelegateOnProperty <Func <bool> >(
                    GetProGridsType(),
                    GetProGridsInstance(),
                    "SnapAsGroupEnabled",
                    BindingFlags.Instance | BindingFlags.NonPublic);
            }

            if (s_ProGridsSnapAsGroupDelegate != null)
            {
                return(s_ProGridsSnapAsGroupDelegate());
            }

            return(false);
        }