示例#1
0
        private static bool TryGetPrefabGUID(UnityEngine.Object gameObject, out string assetGUID)
        {
            PrefabType prefabType = PrefabUtility.GetPrefabType(gameObject);

            UnityEngine.Object @object = null;
            if (prefabType == PrefabType.PrefabInstance)
            {
                @object = PrefabUtility.GetPrefabParent(gameObject);
            }
            else if (prefabType == PrefabType.Prefab)
            {
                @object = gameObject;
            }
            bool result = false;

            if (@object == null)
            {
                assetGUID = string.Empty;
            }
            else
            {
                result = AssetAccess.TryGetAssetGUIDFromDatabase(@object, out assetGUID);
            }
            return(result);
        }
示例#2
0
        public static bool TryGetAssetGUIDFromObject(UnityEngine.Object objectWithGUID, out string assetGUID)
        {
            if (objectWithGUID == null)
            {
                throw new ArgumentNullException("objectWithGuid");
            }
            bool result = false;

            if (objectWithGUID.GetType() == typeof(SceneAsset))
            {
                result = AssetAccess.TryGetAssetGUIDFromDatabase(objectWithGUID, out assetGUID);
            }
            else if (objectWithGUID.GetType() == typeof(GameObject))
            {
                result = AssetAccess.TryGetPrefabGUID(objectWithGUID, out assetGUID);
            }
            else
            {
                assetGUID = string.Empty;
            }
            return(result);
        }