Files
@ 8c3f6ec929d6
Branch filter:
Location: ATITD-Tools/Desert-Paint-Lab/FileUtils.cs - annotation
8c3f6ec929d6
4.2 KiB
text/x-csharp
Fix an error with searching for application data directories
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb 501aa95c46d7 501aa95c46d7 501aa95c46d7 501aa95c46d7 8c3f6ec929d6 501aa95c46d7 8c3f6ec929d6 501aa95c46d7 501aa95c46d7 501aa95c46d7 501aa95c46d7 501aa95c46d7 501aa95c46d7 501aa95c46d7 501aa95c46d7 f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb 501aa95c46d7 501aa95c46d7 8c3f6ec929d6 501aa95c46d7 501aa95c46d7 8c3f6ec929d6 501aa95c46d7 501aa95c46d7 501aa95c46d7 f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb 501aa95c46d7 f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb 501aa95c46d7 501aa95c46d7 501aa95c46d7 501aa95c46d7 501aa95c46d7 501aa95c46d7 501aa95c46d7 501aa95c46d7 501aa95c46d7 501aa95c46d7 501aa95c46d7 501aa95c46d7 501aa95c46d7 f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb 501aa95c46d7 501aa95c46d7 501aa95c46d7 501aa95c46d7 501aa95c46d7 501aa95c46d7 501aa95c46d7 f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb f28757bb21cb | using System;
namespace DesertPaintLab
{
public class FileUtils
{
public FileUtils()
{
}
public static string FindApplicationResourceDirectory(string dirname)
{
string dirPath = System.IO.Path.Combine(
System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location),
dirname);
if (System.IO.Directory.Exists(dirPath))
{
return dirPath;
}
dirPath = System.IO.Path.Combine(
System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location),
"data",
dirname);
if (System.IO.Directory.Exists(dirPath))
{
return dirPath;
}
// try "Resources" in case this is a Mac app bundle
dirPath = System.IO.Path.Combine(
Environment.GetFolderPath(Environment.SpecialFolder.Resources), "data", dirname);
if (System.IO.Directory.Exists(dirPath))
{
return dirPath;
}
// try "Resources" in case this is a Mac app bundle
dirPath = System.IO.Path.Combine(
Environment.GetFolderPath(Environment.SpecialFolder.Resources), dirname);
if (System.IO.Directory.Exists(dirPath))
{
return dirPath;
}
dirPath = System.IO.Path.Combine(
System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location),
"Resources", "data",
dirname);
if (System.IO.Directory.Exists(dirPath))
{
// not found
return dirPath;
}
dirPath = System.IO.Path.Combine(
System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location),
"Resources",
dirname);
if (!System.IO.Directory.Exists(dirPath))
{
// not found
dirPath = null;
}
return dirPath;
}
public static string FindApplicationResourceFile(string filename)
{
// start with the location of the executable
string filePath = System.IO.Path.Combine(
System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location),
filename);
if (!System.IO.File.Exists(filePath))
{
filePath = System.IO.Path.Combine(
System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location),
"data",
filename);
}
if (!System.IO.File.Exists(filePath))
{
// try "Resources/data" in case this is a Mac app bundle
filePath = System.IO.Path.Combine(
Environment.GetFolderPath(Environment.SpecialFolder.Resources), "data", filename);
}
if (!System.IO.File.Exists(filePath))
{
// try "Resources" in case this is a Mac app bundle
filePath = System.IO.Path.Combine(
Environment.GetFolderPath(Environment.SpecialFolder.Resources), filename);
}
if (!System.IO.File.Exists(filePath))
{
filePath = System.IO.Path.Combine(
System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location),
"Resources", "data",
filename);
}
if (!System.IO.File.Exists(filePath))
{
filePath = System.IO.Path.Combine(
System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location),
"Resources",
filename);
}
if (!System.IO.File.Exists(filePath))
{
// not found
filePath = null;
}
return filePath;
}
}
}
|