static bool IsReadOnlyImpl(UnityEngine.Object asset)
        {
            string assetPath = AssetDatabase.GetAssetPath(asset);

            if (string.IsNullOrEmpty(assetPath))
            {
                return(false);
            }

            if (Provider.enabled && VersionControlUtils.IsPathVersioned(assetPath))
            {
                return(!AssetDatabase.CanOpenForEdit(asset, StatusQueryOptions.UseCachedIfPossible));
            }

            return((uint)(File.GetAttributes(assetPath) & FileAttributes.ReadOnly) > 0U);
        }