static void FindAssetsCounter(int start, string parentDir, AssetCopyProc callBack) { for (int i = start; i < 0xfff; i++) { string subDir = Path.Combine(parentDir, String.Format("{0:x2}", i)); FindAssetsRecursive(subDir, callBack); } }
static void QueueWork(string uuid, AssetCopyProc callBack) { lock (WorkQueue) { if (WorkQueue.Count == MAX_QUEUE) { Monitor.Wait(WorkQueue); } WorkQueue.Enqueue(new Work(uuid, callBack)); } }
static void FindAssetsRecursive(string parentDir, AssetCopyProc callBack) { DirectoryInfo dirInfo = new DirectoryInfo(parentDir); foreach (FileInfo file in dirInfo.GetFiles("*.asset")) { callBack(Path.GetFileNameWithoutExtension(file.Name)); } foreach (DirectoryInfo dir in dirInfo.GetDirectories()) { FindAssetsRecursive(dir.FullName, callBack); } }
public Work(string uuid, AssetCopyProc proc) { _UUID = uuid; _proc = proc; }
static void FindAssetsCounter(int start, string parentDir, AssetCopyProc callBack) { for (int i = start; i < 0xfff; i++) { string subDir = Path.Combine(parentDir, String.Format("{0:x2}", i)); FindAssetsRecursive(subDir, callBack); } }
public Work(string uuid, AssetCopyProc proc) { _UUID = uuid; _proc = proc; }
static void QueueWork(string uuid, AssetCopyProc callBack) { lock (WorkQueue) { if (WorkQueue.Count == MAX_QUEUE) { Monitor.Wait(WorkQueue); } WorkQueue.Enqueue(new Work(uuid, callBack)); } }
static void FindAssetsRecursive(string parentDir, AssetCopyProc callBack) { DirectoryInfo dirInfo = new DirectoryInfo(parentDir); foreach (FileInfo file in dirInfo.GetFiles("*.asset")) { callBack(Path.GetFileNameWithoutExtension(file.Name)); } foreach (DirectoryInfo dir in dirInfo.GetDirectories()) { FindAssetsRecursive(dir.FullName, callBack); } }