示例#1
0
        public static int TryLoadCargo(DirectoryInfo target)
        {
            var start = DateTime.UtcNow;

            currentSourceDir = target;
            cargo.Clear();
            if (!target.Exists)
            {
                return(-1);
            }
            var errcount = 0;

            foreach (var file in target.GetFiles("*.dll", SearchOption.TopDirectoryOnly))
            {
                try
                {
                    var mr = new ModRelay(file);
                    if (mr.AssociatedModData == null)
                    {
                        throw new ArgumentNullException("NULL MOD DATA! something went wrong in ModRelay ctor");
                    }
                    cargo.Add(mr);
                }
                catch (Exception e) { errcount++; Wood.WriteLine("Error checking mod entry:"); Wood.WriteLine(e); }
            }
            Wood.WriteLine($"Sync loading complete. Time elapsed: {DateTime.UtcNow - start}");
            return(errcount);
        }