private static Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args) { JobBlocksLogger.Log(args.Name); try { //if (args.Name.Contains("System.Xml.Linq")) // return Assembly.LoadFile(MOD_FOLDER + "/System.Xml.Linq.dll"); } catch (Exception ex) { JobBlocksLogger.LogError(ex); } return(null); }
public static void OnAssemblyLoaded(string path) { MOD_FOLDER = Path.GetDirectoryName(path); AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve; JobBlocksLogger.Log("Found mod in {0}", MOD_FOLDER); GAME_ROOT = path.Substring(0, path.IndexOf("gamedata")).Replace("/", "/"); GAMEDATA_FOLDER = path.Substring(0, path.IndexOf("gamedata") + "gamedata".Length).Replace("/", "/") + "/"; MODS_FOLDER = GAMEDATA_FOLDER + "mods/"; ICON_PATH = Path.Combine(MOD_FOLDER, "icons").Replace("\\", "/") + "/"; MESH_PATH = Path.Combine(MOD_FOLDER, "Meshes").Replace("\\", "/") + "/"; AUDIO_PATH = Path.Combine(MOD_FOLDER, "Audio").Replace("\\", "/") + "/"; TEXTURE_FOLDER_PANDA = Path.Combine(MOD_FOLDER, "Textures").Replace("\\", "/") + "/"; BLOCKS_ALBEDO_PATH = Path.Combine(TEXTURE_FOLDER_PANDA, "albedo").Replace("\\", "/") + "/"; BLOCKS_EMISSIVE_PATH = Path.Combine(TEXTURE_FOLDER_PANDA, "emissive").Replace("\\", "/") + "/"; BLOCKS_HEIGHT_PATH = Path.Combine(TEXTURE_FOLDER_PANDA, "height").Replace("\\", "/") + "/"; BLOCKS_NORMAL_PATH = Path.Combine(TEXTURE_FOLDER_PANDA, "normal").Replace("\\", "/") + "/"; BLOCKS_NPC_PATH = Path.Combine(TEXTURE_FOLDER_PANDA, "npc").Replace("\\", "/") + "/"; ModInfo = JSON.Deserialize(MOD_FOLDER + "/modInfo.json")[0]; }