List<string> WriteRefAssembliesRec(ModInfo mi) { List<string> ret = new List<string>(); for (int i = 0; i < mi.modReferences.Length; i++) { // presence of the mod is checked in ModInfo validation WriteAssembly(Compiler.modDict[mi.modReferences[i]], Path.GetTempPath() + "\\MCT\\" + mi.modReferences[i] + ".dll"); ret.Add(Path.GetTempPath() + "\\MCT\\" + mi.modReferences[i] + ".dll"); ModInfo mi2 = mi.GetModInfoFromTapi(Compiler.modDict[mi.modReferences[i]]); if (mi2 != null) ret.AddRange(WriteRefAssembliesRec(mi2)); } return ret; }