12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- using UnityEngine;
- using UnityEditor;
- using System;
- using System.Collections.Generic;
- using System.IO;
- public static class KinectCopyPluginDataHelper
- {
- private const string DataDirSuffix = "_Data";
- private const string PluginsDirName = "Plugins";
- private static Dictionary<BuildTarget, string> TargetToDirName = new Dictionary<BuildTarget, string>()
- {
- {BuildTarget.StandaloneWindows, "x86"},
- {BuildTarget.StandaloneWindows64, "x86_64"}
- };
- public static void CopyPluginData(BuildTarget target, string buildTargetPath, string subDirToCopy)
- {
- string subDirName;
- if (!TargetToDirName.TryGetValue (target, out subDirName))
- {
-
- return;
- }
-
- var buildName = Path.GetFileNameWithoutExtension(buildTargetPath);
- var targetDir = Directory.GetParent(buildTargetPath);
- var separator = Path.DirectorySeparatorChar;
- var buildDataDir = targetDir.FullName + separator + buildName + DataDirSuffix + separator;
- var tgtPluginsDir = buildDataDir + separator + PluginsDirName + separator + subDirToCopy + separator;
- var srcPluginsDir = Application.dataPath + separator + PluginsDirName + separator + subDirName + separator + subDirToCopy + separator;
- CopyAll (new DirectoryInfo (srcPluginsDir), new DirectoryInfo(tgtPluginsDir));
- }
-
-
-
- private static void CopyAll(DirectoryInfo source, DirectoryInfo target)
- {
-
- if (!Directory.Exists(source.FullName))
- {
- return;
- }
-
- if (!Directory.Exists(target.FullName))
- {
- Directory.CreateDirectory(target.FullName);
- }
-
- foreach (var fileInfo in source.GetFiles())
- {
- fileInfo.CopyTo (Path.Combine (target.ToString (), fileInfo.Name), true);
- }
-
-
- foreach (var subDirInfo in source.GetDirectories())
- {
- DirectoryInfo nextTargetSubDir = target.CreateSubdirectory(subDirInfo.Name);
- CopyAll(subDirInfo, nextTargetSubDir);
- }
- }
- }
|