From 41abacbc6f61d14624f70bab15d3783e47df929c Mon Sep 17 00:00:00 2001 From: David Back Date: Thu, 14 Feb 2019 17:51:32 -0800 Subject: [PATCH] always overwrite, tweak warning --- .../Assets/Editor/AvatarExporter.cs | 14 +++++++------- .../avatarExporter.unitypackage | Bin 13655 -> 13638 bytes 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/tools/unity-avatar-exporter/Assets/Editor/AvatarExporter.cs b/tools/unity-avatar-exporter/Assets/Editor/AvatarExporter.cs index 624b365c17..1ee1596373 100644 --- a/tools/unity-avatar-exporter/Assets/Editor/AvatarExporter.cs +++ b/tools/unity-avatar-exporter/Assets/Editor/AvatarExporter.cs @@ -453,10 +453,9 @@ class AvatarExporter : MonoBehaviour { return; } - // copy any external texture files to the project's texture directory that are - // considered dependencies of the model, and overwrite any existing ones + // copy any external texture files to the project's texture directory that are considered dependencies of the model string texturesDirectory = Path.GetDirectoryName(exportFstPath) + "\\textures"; - if (!CopyExternalTextures(texturesDirectory, true)) { + if (!CopyExternalTextures(texturesDirectory)) { return; } @@ -501,7 +500,7 @@ class AvatarExporter : MonoBehaviour { // copy any external texture files to the project's texture directory that are considered dependencies of the model texturesDirectory = texturesDirectory.Replace("\\\\", "\\"); - if (!CopyExternalTextures(texturesDirectory, false)) { + if (!CopyExternalTextures(texturesDirectory)) { return; } @@ -910,7 +909,8 @@ class AvatarExporter : MonoBehaviour { if (textureObject != null) { string textureName = Path.GetFileName(dependencyPath); if (dependencyTextures.ContainsKey(textureName)) { - textureWarnings += "There is more than one texture with the name " + textureName + ".\n\n"; + textureWarnings += "There is more than one texture with the name " + textureName + + " referenced in the selected avatar.\n\n"; } else { dependencyTextures.Add(textureName, dependencyPath); } @@ -920,12 +920,12 @@ class AvatarExporter : MonoBehaviour { return textureWarnings; } - static bool CopyExternalTextures(string texturesDirectory, bool overwriteExisting) { + static bool CopyExternalTextures(string texturesDirectory) { // copy the found dependency textures from the local asset folder to the textures folder in the target export project foreach (var texture in dependencyTextures) { string targetPath = texturesDirectory + "\\" + texture.Key; try { - File.Copy(texture.Value, targetPath, overwriteExisting); + File.Copy(texture.Value, targetPath, true); } catch { EditorUtility.DisplayDialog("Error", "Failed to copy texture file " + texture.Value + " to " + targetPath + ". Please check the location and try again.", "Ok"); diff --git a/tools/unity-avatar-exporter/avatarExporter.unitypackage b/tools/unity-avatar-exporter/avatarExporter.unitypackage index 3c331ce9e0b03e35850ca6138b53a5689e0e8db0..86a47f744e43c7bd7fe88539c3c8de4901f68606 100644 GIT binary patch delta 12560 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 delta 12576 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 CG=KsC